[MERGE]: Merge with latest trunk-server

bzr revid: rpa@tinyerp.com-20111219062214-1md1y0k594ygzqx5
This commit is contained in:
Rucha (Open ERP) 2011-12-19 11:52:14 +05:30
commit afb2735412
177 changed files with 3511 additions and 2704 deletions

64
README
View File

@ -1,55 +1,29 @@
About OpenERP
pydot - Python interface to Graphviz's Dot language
Ero Carrera (c) 2004-2007
ero@dkbza.org
This code is distributed under the MIT license.
Requirements:
-------------
OpenERP is an OpenSrouce/Free software Enterprise Resource Planning and
Customer Relationship Management software. More info at:
pyparsing: pydot requires the pyparsing module in order to be
able to load DOT files.
http://www.openerp.com
GraphViz: is needed in order to render the graphs into any of
the plethora of output formats supported.
Installation on Debian Ubuntu
-----------------------------
Installation:
-------------
Add the the apt repository in your source.list and type:
Should suffice with doing:
$ apt-get install openerp
python setup.py install
Installation on RedHat, Fedora, CentOS
--------------------------------------
Needless to say, no installation is needed just to use the module. A mere:
Install the required dependencies:
import pydot
$ yum install python
$ easy_install pip
$ pip install .....
Install the openerp rpm
$ rpm -i openerp-VERSION.rpm
Installation on Windows
-----------------------
Installation on MacOSX
-----------------------
Setuping you first database
---------------------------
Point your browser to http://localhost:8069/ and click "Database", the default
master password is "admin".
Detailed System Requirements
----------------------------
You need the following software installed:
python, postgresql-client, python-dateutil, python-gdata, python-ldap,
python-libxslt1, python-lxml, python-mako, python-openid, python-psycopg2,
python-pybabel, python-pychart, python-pydot, python-pyparsing,
python-reportlab, python-simplejson, python-tz, python-vobject, python-webdav,
python-werkzeug, python-yaml, python-zsi, graphviz, ghostscript, postgresql,
python-imaging, python-matplotlib
For Luxembourg localization, you also need:
* pdftk (http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)
should do it, provided that the directory containing the modules is on Python
module search path.

View File

@ -15,3 +15,5 @@ conf = openerp.tools.config
conf['addons_path'] = '/home/openerp/repos/addons/trunk-xmlrpc'
conf['static_http_document_root'] = '/tmp'
#conf['log_level'] = 10 # 10 is DEBUG
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -63,7 +63,9 @@ def wait(id):
time.sleep(3)
return True
def wizard_run(wizname, fieldvalues={}, endstate='end'):
def wizard_run(wizname, fieldvalues=None, endstate='end'):
if fieldvalues is None:
fieldvalues = {}
wiz_id = sock4.create(dbname, uid, 'admin', wizname)
state = 'init'
datas = {'form':{}}

View File

@ -343,3 +343,5 @@ if __name__=='__main__':
p = xml_parse()
p.parse(fname)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -34,6 +34,7 @@
'base_data.xml',
'security/base_security.xml',
'base_menu.xml',
'base_module_meta.xml',
'res/res_security.xml',
'res/res_config.xml',
'data/res.country.state.csv'
@ -99,5 +100,6 @@
'installable': True,
'active': True,
'certificate': '0076807797149',
"css": [ 'static/src/css/modules.css' ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -287,6 +287,7 @@ CREATE TABLE ir_module_module (
name character varying(128) NOT NULL,
author character varying(128),
url character varying(128),
icon character varying(64),
state character varying(16),
latest_version character varying(64),
shortdesc character varying(256),
@ -294,6 +295,7 @@ CREATE TABLE ir_module_module (
category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
certificate character varying(64),
description text,
application boolean default False,
demo boolean default False,
web boolean DEFAULT FALSE,
license character varying(32),

View File

@ -85,6 +85,7 @@
<record id="au" model="res.country">
<field name="name">Australia</field>
<field name="code">au</field>
<field name="address_format" eval="'%(street)s\n%(street2)s %(state_code)s %(zip)s\n%(country_name)s'" />
</record>
<record id="aw" model="res.country">
<field name="name">Aruba</field>
@ -109,6 +110,7 @@
<record id="be" model="res.country">
<field name="name">Belgium</field>
<field name="code">be</field>
<field name="address_format" eval="'%(street)s\n%(zip)s, %(city)s\n%(country_name)s'" />
</record>
<record id="bf" model="res.country">
<field name="name">Burkina Faso</field>
@ -145,6 +147,7 @@
<record id="br" model="res.country">
<field name="name">Brazil</field>
<field name="code">br</field>
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s%(country_name)s'" />
</record>
<record id="bs" model="res.country">
<field name="name">Bahamas</field>
@ -173,6 +176,7 @@
<record id="ca" model="res.country">
<field name="name">Canada</field>
<field name="code">ca</field>
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s, %(state_code)s %(zip)s\n%(country_name)s'" />
</record>
<record id="cc" model="res.country">
<field name="name">Cocos (Keeling) Islands</field>
@ -254,6 +258,7 @@
<record id="de" model="res.country">
<field name="name">Germany</field>
<field name="code">de</field>
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(zip)s %(city)s\n%(country_name)s'" />
</record>
<record id="dj" model="res.country">
<field name="name">Djibouti</field>
@ -298,6 +303,7 @@
<record id="es" model="res.country">
<field name="name">Spain</field>
<field name="code">es</field>
<field name="address_format" eval="'%(street)s\n%(zip)s %(city)s,%(state_name)s\n%(country_name)s'" />
</record>
<record id="et" model="res.country">
<field name="name">Ethiopia</field>
@ -326,6 +332,7 @@
<record id="fr" model="res.country">
<field name="name">France</field>
<field name="code">fr</field>
<field name="address_format" eval="'%(street)s\n%(zip)s %(city)s\n%(country_name)s'" />
</record>
<record id="ga" model="res.country">
<field name="name">Gabon</field>
@ -434,6 +441,7 @@
<record id="in" model="res.country">
<field name="name">India</field>
<field name="code">in</field>
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s, %(zip)s\n%(state_name)s%(country_name)s'" />
</record>
<record id="io" model="res.country">
<field name="name">British Indian Ocean Territory</field>
@ -917,6 +925,7 @@
</record>
<record id="uk" model="res.country">
<field name="name">United Kingdom</field>
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s\n%(country_name)s\n%(zip)s'" />
<field name="code">gb</field>
</record>
<record id="um" model="res.country">
@ -926,6 +935,7 @@
<record id="us" model="res.country">
<field name="name">United States</field>
<field name="code">us</field>
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s, %(state_code)s %(zip)s\n%(country_name)s'" />
</record>
<record id="uy" model="res.country">
<field name="name">Uruguay</field>
@ -1580,7 +1590,6 @@
<record id="res_bank_1" model="res.bank">
<field name="name">Reserve</field>
<field name="code">RSV</field>
</record>
<record id="CRC" model="res.currency">
@ -1600,7 +1609,7 @@
<field name="name">localhost</field>
<field name="smtp_host">localhost</field>
<field eval="25" name="smtp_port"/>
<field eval="10" name="priority"/>
<field eval="10" name="sequence"/>
</record>
<record id="MUR" model="res.currency">
@ -1681,5 +1690,20 @@
<field name="currency_id" ref="CLP"/>
<field eval="time.strftime('%Y-01-01')" name="name"/>
</record>
<!-- Uruguayan peso -->
<record id="UYU" model="res.currency">
<field name="name">UYU</field>
<field name="symbol">$</field>
<field name="rounding">0.01</field>
<field name="accuracy">4</field>
<field name="company_id" ref="main_company"/>
</record>
<record id="rateUYU" model="res.currency.rate">
<field name="currency_id" ref="UYU" />
<field eval="time.strftime('%Y-01-01')" name="name"/>
<field name="rate">28.36</field>
</record>
</data>
</openerp>

View File

@ -8,22 +8,21 @@
<menuitem icon="terp-administration" id="menu_administration_shortcut" parent="menu_administration" name="Custom Shortcuts" sequence="50"/>
<menuitem id="menu_custom" name="Customization"
parent="base.menu_administration" sequence="2"
parent="base.menu_administration" sequence="6"
groups="base.group_extended"/>
<menuitem id="next_id_4" name="Low Level Objects"
parent="base.menu_custom" sequence="30"/>
<menuitem id="menu_low_workflow" name="Workflows" parent="base.next_id_4"/>
<menuitem id="menu_custom_action" name="Actions" parent="base.menu_custom" groups="base.group_extended" sequence="20"/>
<menuitem id="menu_config" name="Configuration" parent="base.menu_administration" sequence="1"/>
<menuitem id="menu_translation" name="Translations" parent="base.menu_administration" sequence="4"/>
<menuitem id="menu_translation" name="Translations" parent="base.menu_administration" sequence="6"/>
<menuitem id="menu_translation_app" name="Application Terms" parent="base.menu_translation" sequence="4" groups="base.group_extended"/>
<menuitem id="menu_translation_export" name="Import / Export"
groups="base.group_extended" parent="base.menu_translation" sequence="3"/>
<menuitem id="menu_users" name="Users" parent="base.menu_administration" sequence="6"/>
<menuitem id="menu_security" name="Security" parent="base.menu_administration" sequence="8"
groups="base.group_extended"/>
<menuitem id="menu_management" name="Modules" parent="base.menu_administration" sequence="10"
<menuitem id="menu_users" name="Users" parent="base.menu_administration" sequence="4"/>
<menuitem id="menu_security" name="Security" parent="base.menu_administration" sequence="5"
groups="base.group_extended"/>
<menuitem id="menu_management" name="Modules" parent="base.menu_administration" sequence="10"/>
<menuitem id="reporting_menu"
parent="base.menu_custom" name="Reporting" sequence="30"
/>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="base.module_account_accountant" model="ir.module.module">
<field name="sequence">10</field>
</record>
<record id="base.module_account_asset" model="ir.module.module">
<field name="sequence">32</field>
</record>
<record id="base.module_account_voucher" model="ir.module.module">
<field name="sequence">4</field>
</record>
<record id="base.module_crm" model="ir.module.module">
<field name="sequence">2</field>
</record>
<record id="base.module_hr" model="ir.module.module">
<field name="sequence">12</field>
</record>
<record id="base.module_hr_expense" model="ir.module.module">
<field name="sequence">30</field>
</record>
<record id="base.module_hr_holidays" model="ir.module.module">
<field name="sequence">28</field>
</record>
<record id="base.module_hr_payroll" model="ir.module.module">
<field name="sequence">38</field>
</record>
<record id="base.module_hr_recruitment" model="ir.module.module">
<field name="sequence">24</field>
</record>
<record id="base.module_hr_timesheet_sheet" model="ir.module.module">
<field name="sequence">16</field>
</record>
<record id="base.module_mrp" model="ir.module.module">
<field name="sequence">18</field>
</record>
<record id="base.module_point_of_sale" model="ir.module.module">
<field name="sequence">6</field>
</record>
<record id="base.module_project" model="ir.module.module">
<field name="sequence">8</field>
</record>
<record id="base.module_project_gtd" model="ir.module.module">
<field name="sequence">20</field>
</record>
<record id="base.module_project_issue" model="ir.module.module">
<field name="sequence">22</field>
</record>
<record id="base.module_purchase" model="ir.module.module">
<field name="sequence">19</field>
</record>
<record id="base.module_sale" model="ir.module.module">
<field name="sequence">14</field>
</record>
<record id="base.module_stock" model="ir.module.module">
<field name="sequence">16</field>
</record>
</data>
</openerp>

View File

@ -19,6 +19,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Groups">
<field name="category_id" select="1"/>
<field name="name" select="1"/>
<notebook colspan="4">
<page string="Users">
@ -154,6 +155,17 @@
</form>
</field>
</record>
<record id="user_groups_view" model="ir.ui.view">
<field name="name">res.users.groups</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="view_users_form"/>
<field name="arch" type="xml">
<!-- dummy, will be modified by groups -->
<field name="groups_id" position="after"/>
</field>
</record>
<record id="view_users_tree" model="ir.ui.view">
<field name="name">res.users.tree</field>
<field name="model">res.users</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: 2011-11-04 04:47+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:54+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:47+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:54+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

File diff suppressed because it is too large Load Diff

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-30 21:07+0000\n"
"PO-Revision-Date: 2011-11-25 11:49+0000\n"
"Last-Translator: Jiří Hajda <robie@centrum.cz>\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: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
"X-Poedit-Language: Czech\n"
#. module: base
@ -7623,7 +7623,7 @@ msgstr ""
#. module: base
#: model:res.partner.title,name:base.res_partner_title_madam
msgid "Madam"
msgstr "Dáma"
msgstr "Paní"
#. module: base
#: model:res.country,name:base.ee

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: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -29,12 +29,12 @@ msgstr "Domæne"
#. module: base
#: model:res.country,name:base.sh
msgid "Saint Helena"
msgstr "Sankt Helena"
msgstr "St. Helena"
#. module: base
#: view:ir.actions.report.xml:0
msgid "Other Configuration"
msgstr ""
msgstr "Andre indstillinger"
#. module: base
#: selection:ir.property,type:0
@ -64,7 +64,7 @@ msgstr "Vis arkitektur"
#. module: base
#: field:base.language.import,code:0
msgid "Code (eg:en__US)"
msgstr ""
msgstr "Kode (f.eks.: en_US)"
#. module: base
#: view:workflow:0
@ -79,32 +79,32 @@ msgstr "Arbejdsgang"
#. module: base
#: view:partner.sms.send:0
msgid "SMS - Gateway: clickatell"
msgstr ""
msgstr "SMS-gateway: clickatell"
#. module: base
#: selection:base.language.install,lang:0
msgid "Hungarian / Magyar"
msgstr ""
msgstr "Ungarsk / Magyar"
#. module: base
#: selection:ir.model.fields,select_level:0
msgid "Not Searchable"
msgstr ""
msgstr "Ikke søgbar"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (VE) / Español (VE)"
msgstr ""
msgstr "Spansk (VE) / Español (VE)"
#. module: base
#: field:ir.actions.server,wkf_model_id:0
msgid "Workflow On"
msgstr ""
msgstr "Arbejdsgang aktiv"
#. module: base
#: field:ir.actions.act_window,display_menu_tip:0
msgid "Display Menu Tips"
msgstr ""
msgstr "Vis menutips"
#. module: base
#: view:ir.module.module:0
@ -130,7 +130,7 @@ msgstr ""
#. module: base
#: field:res.partner,ref:0
msgid "Reference"
msgstr ""
msgstr "Reference"
#. module: base
#: field:ir.actions.act_window,target:0
@ -160,7 +160,7 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_ir_ui_view_custom
msgid "ir.ui.view.custom"
msgstr ""
msgstr "ir.ui.view.custom"
#. module: base
#: model:res.country,name:base.sz
@ -177,7 +177,7 @@ msgstr ""
#. module: base
#: model:res.partner.category,name:base.res_partner_category_woodsuppliers0
msgid "Wood Suppliers"
msgstr ""
msgstr "Træleverandører"
#. module: base
#: code:addons/base/module/module.py:303
@ -190,7 +190,7 @@ msgstr ""
#. module: base
#: field:ir.sequence,number_increment:0
msgid "Increment Number"
msgstr ""
msgstr "Nr. stiger med"
#. module: base
#: model:ir.actions.act_window,name:base.action_res_company_tree
@ -206,7 +206,7 @@ msgstr ""
#. module: base
#: view:res.partner:0
msgid "Search Partner"
msgstr ""
msgstr "Søg kontakt"
#. module: base
#: code:addons/base/res/res_user.py:132
@ -223,7 +223,7 @@ msgstr "ny"
#. module: base
#: field:ir.actions.report.xml,multi:0
msgid "On multiple doc."
msgstr ""
msgstr "På flere dokumenter"
#. module: base
#: field:ir.module.category,module_nr:0

View File

@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -4470,7 +4470,7 @@ msgstr "Seriennummer"
#. module: base
#: selection:res.request,priority:0
msgid "Low"
msgstr "Ausreichend"
msgstr "Niedrig"
#. module: base
#: model:ir.ui.menu,name:base.menu_audit
@ -8525,7 +8525,7 @@ msgstr "Aktionen"
#. module: base
#: selection:res.request,priority:0
msgid "High"
msgstr "Gut"
msgstr "Hoch"
#. module: base
#: field:ir.exports.line,export_id:0

View File

@ -12,8 +12,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-SourceCharset: utf-8\n"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-30 20:48+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"PO-Revision-Date: 2011-12-02 12:19+0000\n"
"Last-Translator: John Bradshaw <Unknown>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -6118,7 +6118,7 @@ msgstr "Base"
#. module: base
#: selection:base.language.install,lang:0
msgid "Telugu / తెలుగు"
msgstr ""
msgstr "Telugu / తెలుగు"
#. module: base
#: model:res.country,name:base.lr
@ -7226,7 +7226,7 @@ msgstr "Customer"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (NI) / Español (NI)"
msgstr ""
msgstr "Spanish (NI) / Español (NI)"
#. module: base
#: field:ir.module.module,shortdesc:0
@ -7247,7 +7247,7 @@ msgstr "Hour 00->24: %(h24)s"
#. module: base
#: field:ir.cron,nextcall:0
msgid "Next Execution Date"
msgstr ""
msgstr "Next Execution Date"
#. module: base
#: help:multi_company.default,field_id:0
@ -7311,12 +7311,12 @@ msgstr "Cancel Install"
#. module: base
#: field:ir.model.fields,selection:0
msgid "Selection Options"
msgstr ""
msgstr "Selection Options"
#. module: base
#: field:res.partner.category,parent_right:0
msgid "Right parent"
msgstr ""
msgstr "Right parent"
#. module: base
#: view:res.lang:0
@ -7334,6 +7334,7 @@ msgstr "Copy Object"
msgid ""
"Group(s) cannot be deleted, because some user(s) still belong to them: %s !"
msgstr ""
"Group(s) cannot be deleted, because some user(s) still belong to them: %s !"
#. module: base
#: model:ir.actions.act_window,name:base.action_country_state
@ -7388,6 +7389,9 @@ msgid ""
"\n"
"[object with reference: %s - %s]"
msgstr ""
"\n"
"\n"
"[object with reference: %s - %s]"
#. module: base
#: model:ir.model,name:base.model_ir_default
@ -7427,6 +7431,8 @@ msgid ""
"Changing the type of a column is not yet supported. Please drop it and "
"create it again!"
msgstr ""
"Changing the type of a column is not yet supported. Please drop it and "
"create it again!"
#. module: base
#: field:ir.ui.view_sc,user_id:0
@ -7458,7 +7464,7 @@ msgstr "Configuration"
#. module: base
#: model:ir.model,name:base.model_publisher_warranty_contract_wizard
msgid "publisher_warranty.contract.wizard"
msgstr ""
msgstr "publisher_warranty.contract.wizard"
#. module: base
#: field:ir.actions.server,expression:0
@ -7552,7 +7558,7 @@ msgstr "Load an Official Translation"
#. module: base
#: view:res.currency:0
msgid "Miscelleanous"
msgstr ""
msgstr "Miscellaneous"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_10
@ -7602,7 +7608,7 @@ msgstr ""
#. module: base
#: view:base.language.import:0
msgid "- type,name,res_id,src,value"
msgstr ""
msgstr "- type,name,res_id,src,value"
#. module: base
#: model:res.country,name:base.hm
@ -7644,6 +7650,8 @@ msgid ""
"You try to install module '%s' that depends on module '%s'.\n"
"But the latter module is not available in your system."
msgstr ""
"You try to install module '%s' that depends on module '%s'.\n"
"But the latter module is not available in your system."
#. module: base
#: view:base.language.import:0
@ -7753,7 +7761,7 @@ msgstr "undefined get method !"
#. module: base
#: selection:base.language.install,lang:0
msgid "Norwegian Bokmål / Norsk bokmål"
msgstr ""
msgstr "Norwegian Bokmål / Norsk bokmål"
#. module: base
#: help:res.config.users,new_password:0
@ -7762,6 +7770,8 @@ msgid ""
"Only specify a value if you want to change the user password. This user will "
"have to logout and login again!"
msgstr ""
"Only specify a value if you want to change the user password. This user will "
"have to logout and login again!"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_madam
@ -7781,7 +7791,7 @@ msgstr "Dashboards"
#. module: base
#: help:ir.attachment,type:0
msgid "Binary File or external URL"
msgstr ""
msgstr "Binary File or external URL"
#. module: base
#: field:res.config.users,new_password:0
@ -7898,7 +7908,7 @@ msgstr "Croatian / hrvatski jezik"
#. module: base
#: field:base.language.install,overwrite:0
msgid "Overwrite Existing Terms"
msgstr ""
msgstr "Overwrite Existing Terms"
#. module: base
#: help:ir.actions.server,code:0
@ -7929,7 +7939,7 @@ msgstr "Trigger"
#. module: base
#: model:ir.model,name:base.model_base_module_update
msgid "Update Module"
msgstr ""
msgstr "Update Module"
#. module: base
#: view:ir.model.fields:0
@ -7960,6 +7970,9 @@ msgid ""
"defining a list of (key, label) pairs. For example: "
"[('blue','Blue'),('yellow','Yellow')]"
msgstr ""
"List of options for a selection field, specified as a Python expression "
"defining a list of (key, label) pairs. For example: "
"[('blue','Blue'),('yellow','Yellow')]"
#. module: base
#: selection:base.language.export,state:0
@ -7972,6 +7985,8 @@ msgid ""
"Indicates whether this object model lives in memory only, i.e. is not "
"persisted (osv.osv_memory)"
msgstr ""
"Indicates whether this object model lives in memory only, i.e. is not "
"persisted (osv.osv_memory)"
#. module: base
#: field:res.partner,child_ids:0
@ -8089,6 +8104,8 @@ msgid ""
"Name of the method to be called on the object when this scheduler is "
"executed."
msgstr ""
"Name of the method to be called on the object when this scheduler is "
"executed."
#. module: base
#: code:addons/base/ir/ir_model.py:219
@ -8097,6 +8114,8 @@ msgid ""
"The Selection Options expression is must be in the [('key','Label'), ...] "
"format!"
msgstr ""
"The Selection Options expression is must be in the [('key','Label'), ...] "
"format!"
#. module: base
#: view:ir.actions.report.xml:0
@ -8115,6 +8134,8 @@ msgid ""
"--\n"
"%(name)s %(email)s\n"
msgstr ""
"--\n"
"%(name)s %(email)s\n"
#. module: base
#: model:res.country,name:base.eh
@ -8157,6 +8178,8 @@ msgid ""
"Expression, must be True to match\n"
"use context.get or user (browse)"
msgstr ""
"Expression, must be True to match\n"
"use context.get or user (browse)"
#. module: base
#: model:res.country,name:base.bg
@ -8222,7 +8245,7 @@ msgstr "Administration"
#. module: base
#: view:base.module.update:0
msgid "Click on Update below to start the process..."
msgstr ""
msgstr "Click on Update below to start the process..."
#. module: base
#: model:res.country,name:base.ir
@ -8233,12 +8256,12 @@ msgstr "Iran"
#: model:ir.actions.act_window,name:base.res_widget_user_act_window
#: model:ir.ui.menu,name:base.menu_res_widget_user_act_window
msgid "Widgets per User"
msgstr ""
msgstr "Widgets per User"
#. module: base
#: selection:base.language.install,lang:0
msgid "Slovak / Slovenský jazyk"
msgstr ""
msgstr "Slovak / Slovenský jazyk"
#. module: base
#: field:base.language.export,state:0
@ -8256,7 +8279,7 @@ msgstr "Symbol"
#: help:res.config.users,login:0
#: help:res.users,login:0
msgid "Used to log into the system"
msgstr ""
msgstr "Used to log into the system"
#. module: base
#: view:base.update.translations:0
@ -8308,13 +8331,13 @@ msgstr "CSV File"
#. module: base
#: field:res.company,account_no:0
msgid "Account No."
msgstr ""
msgstr "Account No."
#. module: base
#: code:addons/base/res/res_lang.py:157
#, python-format
msgid "Base Language 'en_US' can not be deleted !"
msgstr ""
msgstr "Base Language 'en_US' can not be deleted !"
#. module: base
#: selection:ir.model,state:0
@ -8353,6 +8376,8 @@ msgid ""
"Operation prohibited by access rules, or performed on an already deleted "
"document (Operation: %s, Document type: %s)."
msgstr ""
"Operation prohibited by access rules, or performed on an already deleted "
"document (Operation: %s, Document type: %s)."
#. module: base
#: model:res.country,name:base.zr
@ -8376,12 +8401,12 @@ msgstr "Information"
#. module: base
#: view:res.widget.user:0
msgid "User Widgets"
msgstr ""
msgstr "User Widgets"
#. module: base
#: view:base.module.update:0
msgid "Update Module List"
msgstr ""
msgstr "Update Module List"
#. module: base
#: selection:res.partner.address,type:0
@ -8415,7 +8440,7 @@ msgstr "Auto-Refresh"
#: code:addons/base/ir/ir_model.py:62
#, python-format
msgid "The osv_memory field can only be compared with = and != operator."
msgstr ""
msgstr "The osv_memory field can only be compared with = and != operator."
#. module: base
#: selection:ir.ui.view,type:0
@ -8425,7 +8450,7 @@ msgstr "Diagram"
#. module: base
#: help:multi_company.default,name:0
msgid "Name it to easily find a record"
msgstr ""
msgstr "Name it to easily find a record"
#. module: base
#: model:ir.actions.act_window,name:base.grant_menu_access
@ -8436,13 +8461,13 @@ msgstr "Menu Items"
#. module: base
#: constraint:ir.rule:0
msgid "Rules are not supported for osv_memory objects !"
msgstr ""
msgstr "Rules are not supported for osv_memory objects !"
#. module: base
#: model:ir.ui.menu,name:base.menu_event_association
#: model:ir.ui.menu,name:base.menu_event_main
msgid "Events Organisation"
msgstr ""
msgstr "Events Organisation"
#. module: base
#: model:ir.actions.act_window,name:base.ir_sequence_actions
@ -8523,7 +8548,7 @@ msgstr "Add or not the coporate RML header"
#. module: base
#: help:workflow.transition,act_to:0
msgid "The destination activity."
msgstr ""
msgstr "The destination activity."
#. module: base
#: view:base.module.update:0
@ -8549,7 +8574,7 @@ msgstr "Danish / Dansk"
#. module: base
#: selection:ir.model.fields,select_level:0
msgid "Advanced Search (deprecated)"
msgstr ""
msgstr "Advanced Search (deprecated)"
#. module: base
#: model:res.country,name:base.cx
@ -8583,7 +8608,7 @@ msgstr "Extra Info"
#: model:ir.actions.act_window,name:base.act_values_form_action
#: model:ir.ui.menu,name:base.menu_values_form_action
msgid "Client Events"
msgstr ""
msgstr "Client Events"
#. module: base
#: view:ir.module.module:0
@ -8604,7 +8629,7 @@ msgstr "You can not have two users with the same login !"
#. module: base
#: model:ir.model,name:base.model_multi_company_default
msgid "Default multi company"
msgstr ""
msgstr "Default multi company"
#. module: base
#: view:res.request:0
@ -8615,7 +8640,7 @@ msgstr "Send"
#: field:res.config.users,menu_tips:0
#: field:res.users,menu_tips:0
msgid "Menu Tips"
msgstr ""
msgstr "Menu Tips"
#. module: base
#: field:ir.translation,src:0
@ -8677,7 +8702,7 @@ msgstr "Dominican Republic"
#. module: base
#: selection:base.language.install,lang:0
msgid "Serbian (Cyrillic) / српски"
msgstr ""
msgstr "Serbian (Cyrillic) / српски"
#. module: base
#: code:addons/orm.py:2161
@ -8686,6 +8711,8 @@ msgid ""
"Invalid group_by specification: \"%s\".\n"
"A group_by specification must be a list of valid fields."
msgstr ""
"Invalid group_by specification: \"%s\".\n"
"A group_by specification must be a list of valid fields."
#. module: base
#: model:res.country,name:base.sa
@ -8709,13 +8736,13 @@ msgstr "Relation Field"
#. module: base
#: view:res.partner.event:0
msgid "Event Logs"
msgstr ""
msgstr "Event Logs"
#. module: base
#: code:addons/base/module/wizard/base_module_configuration.py:37
#, python-format
msgid "System Configuration done"
msgstr ""
msgstr "System Configuration done"
#. module: base
#: field:workflow.triggers,instance_id:0
@ -8741,7 +8768,7 @@ msgstr "XML path"
#. module: base
#: selection:ir.actions.todo,restart:0
msgid "On Skip"
msgstr ""
msgstr "On Skip"
#. module: base
#: model:res.country,name:base.gn
@ -8764,14 +8791,14 @@ msgstr ""
#: code:addons/base/ir/ir_ui_menu.py:285
#, python-format
msgid "Error ! You can not create recursive Menu."
msgstr ""
msgstr "Error ! You can not create recursive Menu."
#. module: base
#: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_add_wizard
#: model:ir.ui.menu,name:base.menu_publisher_warranty_contract_add
#: view:publisher_warranty.contract.wizard:0
msgid "Register a Contract"
msgstr ""
msgstr "Register a Contract"
#. module: base
#: view:ir.rule:0
@ -8779,12 +8806,14 @@ msgid ""
"3. If user belongs to several groups, the results from step 2 are combined "
"with logical OR operator"
msgstr ""
"3. If user belongs to several groups, the results from step 2 are combined "
"with logical OR operator"
#. module: base
#: code:addons/base/publisher_warranty/publisher_warranty.py:145
#, python-format
msgid "Please check your publisher warranty contract name and validity."
msgstr ""
msgstr "Please check your publisher warranty contract name and validity."
#. module: base
#: model:res.country,name:base.sv
@ -8829,7 +8858,7 @@ msgstr "Leads & Opportunities"
#. module: base
#: selection:base.language.install,lang:0
msgid "Romanian / română"
msgstr ""
msgstr "Romanian / română"
#. module: base
#: view:res.log:0
@ -8867,7 +8896,7 @@ msgstr "ir.actions.act_window"
#. module: base
#: field:ir.rule,perm_create:0
msgid "Apply For Create"
msgstr ""
msgstr "Apply For Create"
#. module: base
#: model:res.country,name:base.vi
@ -8893,6 +8922,11 @@ msgid ""
"be assigned to specific groups in order to make them accessible to some "
"users within the system."
msgstr ""
"Manage and customize the items available and displayed in your OpenERP "
"system menu. You can delete an item by clicking on the box at the beginning "
"of each line and then delete it through the button that appears. Items can "
"be assigned to specific groups to make them accessible to some users within "
"the system."
#. module: base
#: field:ir.ui.view,field_parent:0
@ -8933,7 +8967,7 @@ msgstr "View Auto-Load"
#: code:addons/base/ir/ir_model.py:232
#, python-format
msgid "You cannot remove the field '%s' !"
msgstr ""
msgstr "You cannot remove the field '%s' !"
#. module: base
#: field:ir.exports,resource:0
@ -8945,23 +8979,23 @@ msgstr "Resource"
#. module: base
#: field:ir.ui.menu,web_icon:0
msgid "Web Icon File"
msgstr ""
msgstr "Web Icon File"
#. module: base
#: selection:base.language.install,lang:0
msgid "Persian / فارس"
msgstr ""
msgstr "Persian / فارس"
#. module: base
#: view:ir.actions.act_window:0
msgid "View Ordering"
msgstr ""
msgstr "View Ordering"
#. module: base
#: code:addons/base/module/wizard/base_module_upgrade.py:95
#, python-format
msgid "Unmet dependency !"
msgstr ""
msgstr "Unmet dependency !"
#. module: base
#: view:base.language.import:0
@ -8969,6 +9003,8 @@ msgid ""
"Supported file formats: *.csv (Comma-separated values) or *.po (GetText "
"Portable Objects)"
msgstr ""
"Supported file formats: *.csv (Comma-separated values) or *.po (GetText "
"Portable Objects)"
#. module: base
#: code:addons/base/ir/ir_model.py:487
@ -8977,11 +9013,13 @@ msgid ""
"You can not delete this document (%s) ! Be sure your user belongs to one of "
"these groups: %s."
msgstr ""
"You can not delete this document (%s) ! Be sure your user belongs to one of "
"these groups: %s."
#. module: base
#: model:ir.model,name:base.model_base_module_configuration
msgid "base.module.configuration"
msgstr ""
msgstr "base.module.configuration"
#. module: base
#: field:base.language.export,name:0
@ -9060,7 +9098,7 @@ msgstr "Publisher Warranty Contract"
#. module: base
#: selection:base.language.install,lang:0
msgid "Bulgarian / български език"
msgstr ""
msgstr "Bulgarian / български език"
#. module: base
#: model:ir.ui.menu,name:base.menu_aftersale
@ -9145,6 +9183,10 @@ msgid ""
"uncheck the 'Suppliers' filter button in order to search in all your "
"partners, including customers and prospects."
msgstr ""
"You can access all information regarding your suppliers from the supplier "
"form: accounting data, history of emails, meetings, purchases, etc. You can "
"uncheck the 'Suppliers' filter button in order to search in all your "
"partners, including customers and prospects."
#. module: base
#: model:res.country,name:base.rw
@ -9226,6 +9268,8 @@ msgid ""
"1. Global rules are combined together with a logical AND operator, and with "
"the result of the following steps"
msgstr ""
"1. Global rules are combined together with a logical AND operator, and with "
"the result of the following steps"
#. module: base
#: field:res.partner.category,name:0
@ -9250,7 +9294,7 @@ msgstr "%X - Appropriate time representation."
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (SV) / Español (SV)"
msgstr ""
msgstr "Spanish (SV) / Español (SV)"
#. module: base
#: help:res.lang,grouping:0
@ -9284,7 +9328,7 @@ msgstr "Wizard Button"
#. module: base
#: selection:ir.translation,type:0
msgid "Report/Template"
msgstr ""
msgstr "Report/Template"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@ -9328,7 +9372,7 @@ msgstr "Split Mode"
#. module: base
#: view:base.module.upgrade:0
msgid "Note that this operation might take a few minutes."
msgstr ""
msgstr "Note that this operation might take a few minutes."
#. module: base
#: model:ir.ui.menu,name:base.menu_localisation
@ -9377,11 +9421,13 @@ msgid ""
"Only one client action will be executed, last client action will be "
"considered in case of multiple client actions."
msgstr ""
"Only one client action will be executed, last client action will be "
"considered in case of multiple client actions."
#. module: base
#: view:res.lang:0
msgid "%j - Day of the year [001,366]."
msgstr ""
msgstr "%j - Day of the year [001,366]."
#. module: base
#: field:ir.actions.server,mobile:0
@ -9410,7 +9456,7 @@ msgstr "Wizard Field"
#. module: base
#: help:ir.sequence,prefix:0
msgid "Prefix value of the record for the sequence"
msgstr ""
msgstr "Prefix value of the record for the sequence"
#. module: base
#: model:res.country,name:base.sc
@ -9448,12 +9494,12 @@ msgstr "Account Owner"
#: code:addons/base/res/res_user.py:256
#, python-format
msgid "Company Switch Warning"
msgstr ""
msgstr "Company Switch Warning"
#. module: base
#: model:ir.actions.act_window,name:base.action_res_widget_wizard
msgid "Homepage Widgets Management"
msgstr ""
msgstr "Homepage Widgets Management"
#. module: base
#: field:workflow,osv:0
@ -9464,7 +9510,7 @@ msgstr "Resource Object"
#. module: base
#: help:ir.sequence,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
msgstr ""
msgstr "The next number of the sequence will be incremented by this number"
#. module: base
#: field:ir.cron,function:0
@ -9476,7 +9522,7 @@ msgstr "Function"
#. module: base
#: view:res.widget:0
msgid "Search Widget"
msgstr ""
msgstr "Search Widget"
#. module: base
#: selection:ir.actions.todo,restart:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-10-03 16:01+0000\n"
"Last-Translator: Francisco Reyes Acuña <Unknown>\n"
"PO-Revision-Date: 2011-12-15 20:44+0000\n"
"Last-Translator: doingit translator <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: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-16 05:24+0000\n"
"X-Generator: Launchpad (build 14523)\n"
#. module: base
#: view:ir.filters:0
@ -65,7 +65,7 @@ msgstr "Estructura de la vista"
#. module: base
#: field:base.language.import,code:0
msgid "Code (eg:en__US)"
msgstr "es_CL"
msgstr "Código (por ej. es_CL)"
#. module: base
#: view:workflow:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:55+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:01+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:54+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -9,8 +9,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-Language: Persian\n"

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: 2011-11-04 04:55+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:01+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -308,7 +308,7 @@ msgstr "Propriétaire"
#. module: base
#: field:ir.actions.act_window,src_model:0
msgid "Source Object"
msgstr "Objet Source"
msgstr "Objet source"
#. module: base
#: view:ir.actions.todo:0
@ -605,7 +605,7 @@ msgstr "Serbie"
#. module: base
#: selection:ir.translation,type:0
msgid "Wizard View"
msgstr "Vue Assistant"
msgstr "Vue assistant"
#. module: base
#: model:res.country,name:base.kh
@ -1034,7 +1034,7 @@ msgstr "Operation annulée"
#. module: base
#: help:base.language.export,lang:0
msgid "To export a new language, do not select a language."
msgstr "Pour exporter une langue, ne sélectionnez aucune langue."
msgstr "Pour exporter une nouvelle langue, ne sélectionnez aucune langue."
#. module: base
#: view:res.request:0
@ -1099,9 +1099,9 @@ msgid ""
"you select the invoice, then `object.invoice_address_id.email` is the field "
"which gives the correct address"
msgstr ""
"Fournissez les champs qui seront utilisés pour récupéreer l'adresse email. "
"Exemple: lorsque vous sélectionnez la facture, alors "
"`object.invoice_address_id.email` es t le champ qui vous donne l'adresse "
"Fournit les champs qui seront utilisés pour récupérer l'adresse de courriel. "
"Par exemple lorsque vous sélectionnez la facture, alors "
"\"object.invoice_address_id.email\" est le champ qui vous donne l'adresse "
"correcte."
#. module: base
@ -1545,7 +1545,7 @@ msgid ""
"newly added modules as well as any change to existing modules."
msgstr ""
"Cet assistant va parcourir tous les répertoires de modules pour détecter les "
"modules ajoutés ainsi que les modifications apportées aix modules existants."
"modules ajoutés ainsi que les modifications apportées aux modules existants."
#. module: base
#: field:res.company,logo:0
@ -1623,7 +1623,7 @@ msgid ""
"Views allows you to personalize each view of OpenERP. You can add new "
"fields, move fields, rename them or delete the ones that you do not need."
msgstr ""
"Vues vous permettant de personnaler chaque vue d'OpenERP. Vous pouvez "
"Vues vous permettant de personnaliser chaque écran d'OpenERP. Vous pouvez "
"ajouter de nouveaux champs, déplacer, renommer ou supprimer ceux dont vous "
"n'avez pas besoin."
@ -1893,7 +1893,7 @@ msgstr "Correspondances de champ"
#. module: base
#: view:base.language.export:0
msgid "Export Translations"
msgstr "Export les traductions"
msgstr "Exporter les traductions"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
@ -2023,7 +2023,7 @@ msgid ""
"you are working on will be maintained."
msgstr ""
"Afficher et gérer la liste de tous les pays pouvant être associés aux "
"partenaires. Vous pouvez créer ou supprimer des pays pour vous assurez que "
"partenaires. Vous pouvez créer ou supprimer des pays pour vous assurer que "
"ceux avec lesquels vous travaillez seront maintenus."
#. module: base
@ -2202,6 +2202,9 @@ msgid ""
"separated list of valid field names (optionally followed by asc/desc for the "
"direction)"
msgstr ""
"La propriété \"order\" est incorrecte. \"order\" doit contenir une liste de "
"noms de champs corrects et séparés par des virgules (éventuellement suivis "
"de \"asc\" ou \"desc\" pour indiquer le sens)"
#. module: base
#: model:ir.model,name:base.model_ir_module_module_dependency
@ -2227,9 +2230,9 @@ msgid ""
"way you want to print them in letters and other documents. Some example: "
"Mr., Mrs. "
msgstr ""
"Gère les titres des contacts dont vous voulez qu'ils soient disponibles dans "
"le système et comment vous voulez qu'ils soient imprimés sur les lettres et "
"autres documents. Quelques exemples : M.; Mme. "
"Gère les civilités des contacts disponibles dans le système et la manière "
"dont ils seront imprimés sur les lettres et autres documents. Quelques "
"exemples : M. ; Mme. "
#. module: base
#: field:res.company,rml_footer1:0
@ -2507,7 +2510,7 @@ msgstr "Actions planifiées"
#: field:res.partner.title,name:0
#: field:res.widget,title:0
msgid "Title"
msgstr "Titre"
msgstr "Civilité"
#. module: base
#: help:ir.property,res_id:0
@ -2713,9 +2716,9 @@ msgid ""
"import a language pack from here. Other OpenERP languages than the official "
"ones can be found on launchpad."
msgstr ""
"Si vous souhaitez une autre langue que l'officielle disponible, vous pouvez "
"importer la votre ici. Les autres langues OpenERP autre que les officielles "
"peuvent être trouver sur Launchpad"
"Si vous souhaitez une autre langue que les langues officielles disponibles, "
"vous pouvez l'importer à partir d' ici. D'autres langues peuvent être "
"trouvées sur Launchpad."
#. module: base
#: view:ir.module.module:0
@ -2891,7 +2894,7 @@ msgstr "Action à déclencher"
#, python-format
msgid "\"email_from\" needs to be set to send welcome mails to users"
msgstr ""
"\"email_from\" doit être positionner pour envoyer un message de bienvenu aux "
"\"email_from\" doit être rempli pour envoyer un message de bienvenue aux "
"utilisateurs"
#. module: base
@ -2903,7 +2906,7 @@ msgstr "Contrainte"
#: selection:ir.values,key:0
#: selection:res.partner.address,type:0
msgid "Default"
msgstr "Défaut"
msgstr "Par défaut"
#. module: base
#: view:ir.model.fields:0
@ -2920,7 +2923,7 @@ msgstr "Filtres par défaut"
#. module: base
#: field:res.request.history,name:0
msgid "Summary"
msgstr "Sommaire"
msgstr "Résumé"
#. module: base
#: field:multi_company.default,expression:0
@ -4670,8 +4673,8 @@ msgstr "Contacts"
msgid ""
"Unable to delete this document because it is used as a default property"
msgstr ""
"Impossible de supprimer ce document, parce qu'il est utilisé dans une "
"propriété par défaut"
"Impossible de supprimer ce document, parce qu'il est utilisé comme propriété "
"par défaut"
#. module: base
#: view:res.widget.wizard:0
@ -6405,7 +6408,7 @@ msgstr "Panama"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_ltd
msgid "Ltd"
msgstr "Ltd"
msgstr "SARL"
#. module: base
#: help:workflow.transition,group_id:0
@ -6604,9 +6607,9 @@ msgid ""
"Manage the partner titles you want to have available in your system. The "
"partner titles is the legal status of the company: Private Limited, SA, etc."
msgstr ""
"Gérer les titres des partenaires qui seront disponibles dans votre système. "
"Les titres de partenaires sont les statuts légaux des sociétés: SARL, SAS, "
"SA, etc."
"Gérer les civilités des partenaires qui seront disponibles dans votre "
"système. Pour les sociétés, les civilités de partenaires sont les formes "
"légales : SARL, SAS, SA, etc."
#. module: base
#: view:base.language.export:0
@ -8294,7 +8297,7 @@ msgstr "5. %y, %Y ==> 08, 2008"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_ltd
msgid "ltd"
msgstr "Ets"
msgstr "SARL"
#. module: base
#: field:ir.values,res_id:0
@ -9617,7 +9620,7 @@ msgstr "Livraison"
#: model:res.partner.title,name:base.res_partner_title_pvt_ltd
#: model:res.partner.title,shortcut:base.res_partner_title_pvt_ltd
msgid "Corp."
msgstr "Corp."
msgstr "SA"
#. module: base
#: model:res.country,name:base.gw

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: 2011-11-14 05:15+0000\n"
"X-Generator: Launchpad (build 14277)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
"Language: hr\n"
#. module: base

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:54+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:56+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:50+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:57+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:49+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:55+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -701,7 +701,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (UY) / Español (UY)"
msgstr ""
msgstr "Espanhol (UY) / Español (UY)"
#. module: base
#: field:res.partner,mobile:0
@ -821,7 +821,7 @@ msgstr "Tipo"
msgid ""
"Language with code \"%s\" is not defined in your system !\n"
"Define it through the Administration menu."
msgstr ""
msgstr "O idioma com o código \"%s\" não está definido no sistema!"
#. module: base
#: model:res.country,name:base.gu
@ -933,7 +933,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (GT) / Español (GT)"
msgstr ""
msgstr "Espanhol (GT) / Español (GT)"
#. module: base
#: view:res.lang:0
@ -1086,7 +1086,7 @@ msgstr ""
#. module: base
#: view:res.lang:0
msgid "%Y - Year with century."
msgstr ""
msgstr "%Y - Ano completo."
#. module: base
#: report:ir.module.reference.graph:0
@ -1461,7 +1461,7 @@ msgstr "Criar / Escrever / Copiar"
#. module: base
#: view:base.language.export:0
msgid "https://help.launchpad.net/Translations"
msgstr ""
msgstr "https://help.launchpad.net/Translations"
#. module: base
#: field:ir.actions.act_window,view_mode:0
@ -1496,7 +1496,7 @@ msgstr "Spanhol / Español"
#. module: base
#: selection:base.language.install,lang:0
msgid "Korean (KP) / 한국어 (KP)"
msgstr ""
msgstr "Coreano (KP) / 한국어 (KP)"
#. module: base
#: view:base.module.update:0
@ -1609,7 +1609,7 @@ msgstr "Grupos"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (CL) / Español (CL)"
msgstr ""
msgstr "Espanhol (CL) / Español (CL)"
#. module: base
#: view:res.config.users:0
@ -1714,7 +1714,7 @@ msgstr "Factura"
#. module: base
#: selection:base.language.install,lang:0
msgid "Portugese (BR) / Português (BR)"
msgstr ""
msgstr "Português (BR) / Português (BR)"
#. module: base
#: model:res.country,name:base.bb
@ -1895,7 +1895,7 @@ msgstr "O método \"perm_read\" não está implementado neste objeto !"
#. module: base
#: view:res.lang:0
msgid "%y - Year without century [00,99]."
msgstr ""
msgstr "%y - Ano abreviado [00,99]."
#. module: base
#: model:res.country,name:base.si
@ -1962,6 +1962,8 @@ msgid ""
"One of the records you are trying to modify has already been deleted "
"(Document type: %s)."
msgstr ""
"Um dos registos que está a tentar modificar já foi apagado (Tipo de registo: "
"%s)."
#. module: base
#: model:ir.actions.act_window,help:base.action_country
@ -2297,7 +2299,7 @@ msgstr "Mapeamento de campos"
#. module: base
#: selection:base.language.install,lang:0
msgid "Portugese / Português"
msgstr ""
msgstr "Português / Português"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_sir
@ -2938,7 +2940,7 @@ msgstr "Conta bancaria"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (HN) / Español (HN)"
msgstr ""
msgstr "Espanhol (HN) / Español (HN)"
#. module: base
#: view:ir.sequence.type:0
@ -2988,7 +2990,7 @@ msgstr ""
#. module: base
#: sql_constraint:ir.config_parameter:0
msgid "Key must be unique."
msgstr ""
msgstr "Chave tem de ser única."
#. module: base
#: view:ir.actions.act_window:0
@ -3037,6 +3039,9 @@ msgid ""
"\n"
"Click 'Continue' and enjoy your OpenERP experience..."
msgstr ""
"A sua base de dados está configurada.\n"
"\n"
"Carrege em 'Continuar' para experimentar o OpenERP..."
#. module: base
#: selection:base.language.install,lang:0
@ -3089,7 +3094,7 @@ msgstr "Os módulos selecionados foram actualizados / instalados!"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (PR) / Español (PR)"
msgstr ""
msgstr "Espanhol (PR) / Español (PR)"
#. module: base
#: model:res.country,name:base.gt
@ -3331,7 +3336,7 @@ msgstr ""
#. module: base
#: selection:ir.module.module,license:0
msgid "Affero GPL-3"
msgstr ""
msgstr "Affero GPL-3"
#. module: base
#: field:ir.sequence,number_next:0
@ -3346,7 +3351,7 @@ msgstr "Expressão a ser satisfeita, se quisermos a transição concluída."
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (PA) / Español (PA)"
msgstr ""
msgstr "Espanhol (PA) / Español (PA)"
#. module: base
#: view:res.currency:0
@ -3966,7 +3971,7 @@ msgstr ""
#. module: base
#: view:res.lang:0
msgid "%S - Seconds [00,61]."
msgstr ""
msgstr "%S - Segundos [00,61]."
#. module: base
#: model:res.country,name:base.cv

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -2296,6 +2296,8 @@ msgid ""
"Reference of the target resource, whose model/table depends on the 'Resource "
"Name' field."
msgstr ""
"Referencia do recurso destino, cujo modelo/tabela depende do atributo 'Nome "
"do Recurso' ."
#. module: base
#: field:ir.model.fields,select_level:0
@ -6266,7 +6268,7 @@ msgstr "res.log"
#: help:ir.translation,module:0
#: help:ir.translation,xml_id:0
msgid "Maps to the ir_model_data for which this translation is provided."
msgstr ""
msgstr "Mapeia para o ir_model_data para o qual esta tradução é provida."
#. module: base
#: view:workflow.activity:0
@ -7156,6 +7158,7 @@ msgstr "Carregar"
#: help:res.users,name:0
msgid "The new user's real name, used for searching and most listings"
msgstr ""
"O nome real do novo usuário, usado para pesquisa e maioria das listagens"
#. module: base
#: code:addons/osv.py:154
@ -7342,7 +7345,7 @@ msgstr "Opções de Seleção"
#. module: base
#: field:res.partner.category,parent_right:0
msgid "Right parent"
msgstr ""
msgstr "Superior direito"
#. module: base
#: view:res.lang:0
@ -8203,6 +8206,8 @@ msgid ""
"Expression, must be True to match\n"
"use context.get or user (browse)"
msgstr ""
"Expressão, deve ser Verdadeira para corresponder.\n"
"use context.get ou user (browse)"
#. module: base
#: model:res.country,name:base.bg
@ -8632,7 +8637,7 @@ msgstr "Info. Extra"
#: model:ir.actions.act_window,name:base.act_values_form_action
#: model:ir.ui.menu,name:base.menu_values_form_action
msgid "Client Events"
msgstr ""
msgstr "Eventos de Cliente"
#. module: base
#: view:ir.module.module:0
@ -8653,7 +8658,7 @@ msgstr "Você não pode ter dois usuários com o mesmo login !"
#. module: base
#: model:ir.model,name:base.model_multi_company_default
msgid "Default multi company"
msgstr ""
msgstr "Multi-empresa por padrão"
#. module: base
#: view:res.request:0
@ -8793,7 +8798,7 @@ msgstr "Path do XML"
#. module: base
#: selection:ir.actions.todo,restart:0
msgid "On Skip"
msgstr ""
msgstr "Sendo Ignorado"
#. module: base
#: model:res.country,name:base.gn
@ -8879,7 +8884,7 @@ msgstr "Tailândia"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_lead
msgid "Leads & Opportunities"
msgstr ""
msgstr "Indicações & Oportunidades"
#. module: base
#: selection:base.language.install,lang:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:47+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:54+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:58+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:55+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:01+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:53+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 04:59+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-06 05:23+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:01+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -3225,7 +3225,7 @@ msgstr "Ukrainian / українська"
#: model:ir.actions.act_window,name:base.action_translation
#: model:ir.ui.menu,name:base.menu_action_translation
msgid "Translation Terms"
msgstr "翻译术语列表"
msgstr "翻译术语条目"
#. module: base
#: model:res.country,name:base.sn

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: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-29 15:26+0000\n"
"PO-Revision-Date: 2011-12-01 12:26+0000\n"
"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-04 04:54+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n"
"X-Generator: Launchpad (build 14458)\n"
#. module: base
#: view:ir.filters:0
@ -4495,7 +4495,7 @@ msgstr ""
msgid ""
"Please use the change password wizard (in User Preferences or User menu) to "
"change your own password."
msgstr ""
msgstr "請以「變更密碼精靈」(於「使用者偏好設定」或「使用者」選單) 變更密碼。"
#. module: base
#: code:addons/orm.py:1350

View File

@ -665,7 +665,7 @@
<menuitem id="menu_res_company_global"
parent="base.menu_administration"
name="Companies"
sequence="5"/>
sequence="2"/>
<record id="action_res_company_tree" model="ir.actions.act_window">
<field name="name">Company's Structure</field>
@ -1548,7 +1548,7 @@
<field name="view_id" ref="ir_cron_view_tree"/>
</record>
<menuitem id="next_id_10" name="Scheduler" parent="base.menu_config" groups="base.group_extended"/>
<menuitem id="next_id_10" name="Scheduler" parent="base.menu_config" groups="base.group_extended" sequence="11"/>
<menuitem action="ir_cron_act" id="menu_ir_cron_act" parent="next_id_10"/>
@ -1924,7 +1924,8 @@
<field name="view_type">form</field>
<field name="help">The configuration wizards are used to help you configure a new instance of OpenERP. They are launched during the installation of new modules, but you can choose to restart some wizards manually from this menu.</field>
</record>
<menuitem id="next_id_11" name="Configuration Wizards" parent="base.menu_config" sequence="1"/>
<menuitem id="next_id_11" name="Configuration Wizards" parent="base.menu_config" sequence="2"
groups="base.group_extended"/>
<menuitem action="act_ir_actions_todo_form" id="menu_ir_actions_todo_form"
parent="next_id_11" sequence="20"/>

View File

@ -321,6 +321,13 @@ class act_window(osv.osv):
act_window()
VIEW_TYPES = [
('tree', 'Tree'),
('form', 'Form'),
('graph', 'Graph'),
('calendar', 'Calendar'),
('gantt', 'Gantt'),
('kanban', 'Kanban')]
class act_window_view(osv.osv):
_name = 'ir.actions.act_window.view'
_table = 'ir_act_window_view'
@ -329,12 +336,7 @@ class act_window_view(osv.osv):
_columns = {
'sequence': fields.integer('Sequence'),
'view_id': fields.many2one('ir.ui.view', 'View'),
'view_mode': fields.selection((
('tree', 'Tree'),
('form', 'Form'),
('graph', 'Graph'),
('calendar', 'Calendar'),
('gantt', 'Gantt')), string='View Type', required=True),
'view_mode': fields.selection(VIEW_TYPES, string='View Type', required=True),
'act_window_id': fields.many2one('ir.actions.act_window', 'Action', ondelete='cascade'),
'multi': fields.boolean('On Multiple Doc.',
help="If set to true, the action will not be displayed on the right toolbar of a form view."),

View File

@ -92,3 +92,5 @@ class ir_config_parameter(osv.osv):
else:
self.create(cr, uid, {'key': key, 'value': value}, context=context)
return False
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -34,7 +34,7 @@ class ir_default(osv.osv):
'company_id': fields.many2one('res.company','Company')
}
def _get_company_id(self, cr, uid, context={}):
def _get_company_id(self, cr, uid, context=None):
res = self.pool.get('res.users').read(cr, uid, [uid], ['company_id'], context=context)
if res and res[0]['company_id']:
return res[0]['company_id'][0]
@ -45,3 +45,5 @@ class ir_default(osv.osv):
}
ir_default()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -53,7 +53,7 @@ class ir_filters(osv.osv):
return False
return self.create(cr, uid, vals, context)
def _auto_init(self, cr, context={}):
def _auto_init(self, cr, context=None):
super(ir_filters, self)._auto_init(cr, context)
# Use unique index to implement unique constraint on the lowercase name (not possible using a constraint)
cr.execute("SELECT indexname FROM pg_indexes WHERE indexname = 'ir_filters_name_model_uid_unique_index'")

View File

@ -28,6 +28,7 @@ from email import Encoders
import logging
import re
import smtplib
import threading
from osv import osv
from osv import fields
@ -381,6 +382,11 @@ class ir_mail_server(osv.osv):
smtp_to_list = filter(None, tools.flatten(map(extract_rfc2822_addresses,[email_to, email_cc, email_bcc])))
assert smtp_to_list, "At least one valid recipient address should be specified for outgoing emails (To/Cc/Bcc)"
# Do not actually send emails in testing mode!
if getattr(threading.currentThread(), 'testing', False):
_logger.log(logging.TEST, "skip sending email in test mode")
return message['Message-Id']
# Get SMTP Server Details from Mail Server
mail_server = None
if mail_server_id:

View File

@ -161,7 +161,7 @@ class ir_model(osv.osv):
#pooler.restart_pool(cr.dbname)
return res
def instanciate(self, cr, user, model, context={}):
def instanciate(self, cr, user, model, context=None):
class x_custom_model(osv.osv):
pass
x_custom_model._name = model

View File

@ -38,7 +38,7 @@ class ir_sequence_type(openerp.osv.osv.osv):
('code_unique', 'unique(code)', '`code` must be unique.'),
]
def _code_get(self, cr, uid, context={}):
def _code_get(self, cr, uid, context=None):
cr.execute('select code, name from ir_sequence_type')
return cr.fetchall()
@ -150,9 +150,9 @@ class ir_sequence(openerp.osv.osv.osv):
for row in rows:
# 4 cases: we test the previous impl. against the new one.
i = values.get('number_increment', row['number_increment'])
n = values.get('number_next', row['number_next'])
if row['implementation'] == 'standard':
i = values.get('number_increment', row['number_increment'])
n = values.get('number_next', row['number_next'])
if new_implementation in ('standard', None):
self._alter_sequence(cr, row['id'], i, n)
else:
@ -189,7 +189,14 @@ class ir_sequence(openerp.osv.osv.osv):
def _next(self, cr, uid, seq_ids, context=None):
if not seq_ids:
return False
seq = self.read(cr, uid, seq_ids[:1], ['implementation','number_next','prefix','suffix','padding'])[0]
if context is None:
context = {}
force_company = context.get('force_company')
if not force_company:
force_company = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
sequences = self.read(cr, uid, seq_ids, ['company_id','implementation','number_next','prefix','suffix','padding'])
preferred_sequences = [s for s in sequences if s['company_id'] and s['company_id'][0] == force_company ]
seq = preferred_sequences[0] if preferred_sequences else sequences[0]
if seq['implementation'] == 'standard':
cr.execute("SELECT nextval('ir_sequence_%03d')" % seq['id'])
seq['number_next'] = cr.fetchone()
@ -204,14 +211,24 @@ class ir_sequence(openerp.osv.osv.osv):
def next_by_id(self, cr, uid, sequence_id, context=None):
""" Draw an interpolated string using the specified sequence."""
self.check_read(cr, uid)
company_ids = self.pool.get('res.company').search(cr, uid, [], context=context) + [False]
company_ids = self.pool.get('res.company').search(cr, uid, [], order='company_id', context=context) + [False]
ids = self.search(cr, uid, ['&',('id','=', sequence_id),('company_id','in',company_ids)])
return self._next(cr, uid, ids, context)
def next_by_code(self, cr, uid, sequence_code, context=None):
""" Draw an interpolated string using the specified sequence."""
""" Draw an interpolated string using a sequence with the requested code.
If several sequences with the correct code are available to the user
(multi-company cases), the one from the user's current company will
be used.
:param dict context: context dictionary may contain a
``force_company`` key with the ID of the company to
use instead of the user's current company for the
sequence selection. A matching sequence for that
specific company will get higher priority.
"""
self.check_read(cr, uid)
company_ids = self.pool.get('res.company').search(cr, uid, [], context=context) + [False]
company_ids = self.pool.get('res.company').search(cr, uid, [], order='company_id', context=context) + [False]
ids = self.search(cr, uid, ['&',('code','=', sequence_code),('company_id','in',company_ids)])
return self._next(cr, uid, ids, context)

View File

@ -62,7 +62,7 @@ class ir_translation(osv.osv):
'xml_id': fields.char('External ID', size=128, help='Maps to the ir_model_data for which this translation is provided.'),
}
def _auto_init(self, cr, context={}):
def _auto_init(self, cr, context=None):
super(ir_translation, self)._auto_init(cr, context)
# FIXME: there is a size limit on btree indexed values so we can't index src column with normal btree.
@ -198,7 +198,7 @@ class ir_translation(osv.osv):
if isinstance(ids, (int, long)):
ids = [ids]
for trans_obj in self.read(cursor, user, ids, ['name','type','res_id','src','lang'], context=context):
self._get_source.clear_cache(self, user, trans_obj['name'], trans_obj['type'], trans_obj['lang'], source=trans_obj['src'])
self._get_source.clear_cache(self, user, trans_obj['name'], trans_obj['type'], trans_obj['lang'], trans_obj['src'])
self._get_ids.clear_cache(self, user, trans_obj['name'], trans_obj['type'], trans_obj['lang'], trans_obj['res_id'])
result = super(ir_translation, self).unlink(cursor, user, ids, context=context)
return result

View File

@ -208,7 +208,6 @@ class ir_ui_menu(osv.osv):
'name': 'Menuitem',
'model': self._name,
'value': value,
'object': True,
'key': 'action',
'key2': 'tree_but_open',
'res_id': menu_id,

View File

@ -110,7 +110,7 @@ class view(osv.osv):
(view_id, model))
return cr.fetchall()
def write(self, cr, uid, ids, vals, context={}):
def write(self, cr, uid, ids, vals, context=None):
if not isinstance(ids, (list, tuple)):
ids = [ids]
result = super(view, self).write(cr, uid, ids, vals, context)
@ -123,7 +123,7 @@ class view(osv.osv):
return result
def graph_get(self, cr, uid, id, model, node_obj, conn_obj, src_node, des_node,label,scale,context={}):
def graph_get(self, cr, uid, id, model, node_obj, conn_obj, src_node, des_node, label, scale, context=None):
if not label:
label = []
nodes=[]

View File

@ -457,3 +457,5 @@ class ir_values(osv.osv):
def do_get(model,res_id):
return self.get_actions(cr, uid, action_slot=key2, model=model, res_id=res_id, context=context)
return self._map_legacy_model_list(models, do_get, merge_results=True)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -31,3 +31,5 @@ class osv_memory_autovacuum(openerp.osv.osv.osv_memory):
model._transient_vacuum(cr, uid)
return True
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -49,4 +49,6 @@ class wizard_screen(osv.osv_memory):
_defaults = {
'config_logo': _get_image
}
wizard_screen()
wizard_screen()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -210,7 +210,7 @@ class report_graph(report.interface.report_int):
else:
return (False, False, False)
def create(self, cr, uid, ids, data, context={}):
def create(self, cr, uid, ids, data, context=None):
self.obj = report_graph_instance(cr, uid, ids, data)
return (self.obj.get(), 'pdf')

View File

@ -45,7 +45,7 @@ class workflow(osv.osv):
wf_service.clear_cache(cr, user)
return super(workflow, self).write(cr, user, ids, vals, context=context)
def get_active_workitems(self, cr, uid, res, res_id, context={}):
def get_active_workitems(self, cr, uid, res, res_id, context=None):
cr.execute('select * from wkf where osv=%s limit 1',(res,))
wkfinfo = cr.dictfetchone()
@ -212,7 +212,7 @@ class wkf_triggers(osv.osv):
'instance_id': fields.many2one('workflow.instance', 'Destination Instance', ondelete="cascade"),
'workitem_id': fields.many2one('workflow.workitem', 'Workitem', required=True, ondelete="cascade"),
}
def _auto_init(self, cr, context={}):
def _auto_init(self, cr, context=None):
super(wkf_triggers, self)._auto_init(cr, context)
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'wkf_triggers_res_id_model_index\'')
if not cr.fetchone():

View File

@ -22,3 +22,5 @@
import module
import wizard
import report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -40,7 +40,6 @@ from tools.translate import _
from osv import fields, osv, orm
ACTION_DICT = {
'view_type': 'form',
'view_mode': 'form',
@ -71,12 +70,12 @@ class module_category(osv.osv):
return result
_columns = {
'name': fields.char("Name", size=128, required=True, select=True),
'name': fields.char("Name", size=128, required=True, translate=True, select=True),
'parent_id': fields.many2one('ir.module.category', 'Parent Application', select=True),
'child_ids': fields.one2many('ir.module.category', 'parent_id', 'Child Applications'),
'module_nr': fields.function(_module_nbr, method=True, string='Number of Modules', type='integer'),
'module_ids' : fields.one2many('ir.module.module', 'category_id', 'Modules'),
'description' : fields.text("Description"),
'description' : fields.text("Description", translate=True),
'sequence' : fields.integer('Sequence'),
'visible' : fields.boolean('Visible'),
}
@ -190,6 +189,7 @@ class module(osv.osv):
'published_version': fields.char('Published Version', size=64, readonly=True),
'url': fields.char('URL', size=128, readonly=True),
'sequence': fields.integer('Sequence'),
'dependencies_id': fields.one2many('ir.module.module.dependency',
'module_id', 'Dependencies', readonly=True),
'state': fields.selection([
@ -214,7 +214,8 @@ class module(osv.osv):
'reports_by_module': fields.function(_get_views, method=True, string='Reports', type='text', multi="meta", store=True),
'views_by_module': fields.function(_get_views, method=True, string='Views', type='text', multi="meta", store=True),
'certificate' : fields.char('Quality Certificate', size=64, readonly=True),
'web': fields.boolean('Has a web component', readonly=True),
'application': fields.boolean('Application', readonly=True),
'icon': fields.char('Icon URL', size=128),
'complexity': fields.selection([('easy','Easy'), ('normal','Normal'), ('expert','Expert')],
string='Complexity', readonly=True,
help='Level of difficulty of module. Easy: intuitive and easy to use for everyone. Normal: easy to use for business experts. Expert: requires technical skills.'),
@ -222,12 +223,12 @@ class module(osv.osv):
_defaults = {
'state': 'uninstalled',
'sequence': 100,
'demo': False,
'license': 'AGPL-3',
'web': False,
'complexity': 'normal',
}
_order = 'name'
_order = 'sequence,name'
def _name_uniq_msg(self, cr, uid, ids, context=None):
return _('The name of the module must be unique !')
@ -251,10 +252,10 @@ class module(osv.osv):
_('You try to remove a module that is installed or will be installed'))
mod_names.append(mod['name'])
#Removing the entry from ir_model_data
ids_meta = self.pool.get('ir.model.data').search(cr, uid, [('name', '=', 'module_meta_information'), ('module', 'in', mod_names)])
#ids_meta = self.pool.get('ir.model.data').search(cr, uid, [('name', '=', 'module_meta_information'), ('module', 'in', mod_names)])
if ids_meta:
self.pool.get('ir.model.data').unlink(cr, uid, ids_meta, context)
#if ids_meta:
# self.pool.get('ir.model.data').unlink(cr, uid, ids_meta, context)
return super(module, self).unlink(cr, uid, ids, context=context)
@ -317,9 +318,47 @@ class module(osv.osv):
return demo
def button_install(self, cr, uid, ids, context=None):
model_obj = self.pool.get('ir.model.data')
self.state_update(cr, uid, ids, 'to install', ['uninstalled'], context)
categ = model_obj.get_object(cr, uid, 'base', 'module_category_hidden_links', context=context)
todo = []
for mod in categ.module_ids:
if mod.state=='uninstalled':
ok = True
for dep in mod.dependencies_id:
ok = ok and (dep.state in ('to install','installed'))
if ok:
todo.append(mod.id)
if todo:
self.button_install(cr, uid, todo, context=context)
return dict(ACTION_DICT, name=_('Install'))
def button_immediate_install(self, cr, uid, ids, context=None):
""" Installs the selected module(s) immediately and fully,
returns the next res.config action to execute
:param ids: identifiers of the modules to install
:returns: next res.config item to execute
:rtype: dict[str, object]
"""
self.button_install(cr, uid, ids, context=context)
cr.commit()
db, pool = pooler.restart_pool(cr.dbname, update_module=True)
config = pool.get('res.config').next(cr, uid, [], context=context) or {}
if config.get('type') not in ('ir.actions.reload', 'ir.actions.act_window_close'):
return config
menu_ids = self.root_menus(cr,uid,ids,context)
if menu_ids:
action = {
'type': 'ir.ui.menu',
'menu_id': menu_ids[0],
'reload' : True,
}
return action
return False
def button_install_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'uninstalled', 'demo':False})
@ -397,12 +436,11 @@ class module(osv.osv):
'website': terp.get('website', ''),
'license': terp.get('license', 'AGPL-3'),
'certificate': terp.get('certificate') or False,
'web': terp.get('web') or False,
'complexity': terp.get('complexity', ''),
}
# update the list of available packages
def update_list(self, cr, uid, context={}):
def update_list(self, cr, uid, context=None):
res = [0, 0] # [update, add]
known_mods = self.browse(cr, uid, self.search(cr, uid, []))
@ -570,113 +608,26 @@ class module(osv.osv):
logger.critical('module %s: invalid quality certificate: %s', mod.name, mod.certificate)
raise osv.except_osv(_('Error'), _('Module %s: Invalid Quality Certificate') % (mod.name,))
def list_web(self, cr, uid, context=None):
""" list_web(cr, uid, context) -> [(module_name, module_version)]
Lists all the currently installed modules with a web component.
def root_menus(self, cr, uid, ids, context=None):
""" Return root menu ids the menus created by the modules whose ids are
provided.
Returns a list of a tuple of addon names and addon versions.
:param list[int] ids: modules to get menus from
"""
return [
(module['name'], module['installed_version'])
for module in self.browse(cr, uid,
self.search(cr, uid,
[('web', '=', True),
('state', 'in', ['installed','to upgrade','to remove'])],
context=context),
context=context)]
def _web_dependencies(self, cr, uid, module, context=None):
for dependency in module.dependencies_id:
(parent,) = self.browse(cr, uid, self.search(cr, uid,
[('name', '=', dependency.name)], context=context),
context=context)
if parent.web:
yield parent.name
else:
self._web_dependencies(
cr, uid, parent, context=context)
values = self.read(cr, uid, ids, ['name'], context=context)
module_names = [i['name'] for i in values]
def _translations_subdir(self, module):
""" Returns the path to the subdirectory holding translations for the
module files, or None if it can't find one
ids = self.pool.get('ir.model.data').search(cr, uid, [ ('model', '=', 'ir.ui.menu'), ('module', 'in', module_names) ], context=context)
values = self.pool.get('ir.model.data').read(cr, uid, ids, ['res_id'], context=context)
all_menu_ids = [i['res_id'] for i in values]
:param module: a module object
:type module: browse(ir.module.module)
"""
subdir = addons.get_module_resource(module.name, 'po')
if subdir: return subdir
# old naming convention
subdir = addons.get_module_resource(module.name, 'i18n')
if subdir: return subdir
return None
def _add_translations(self, module, web_data):
""" Adds translation data to a zipped web module
:param module: a module descriptor
:type module: browse(ir.module.module)
:param web_data: zipped data of a web module
:type web_data: bytes
"""
# cStringIO.StringIO is either read or write, not r/w
web_zip = StringIO.StringIO(web_data)
web_archive = zipfile.ZipFile(web_zip, 'a')
# get the contents of the i18n or po folder and move them to the
# po/messages subdirectory of the web module.
# The POT file will be incorrectly named, but that should not
# matter since the web client is not going to use it, only the PO
# files.
translations_file = cStringIO.StringIO(
addons.zip_directory(self._translations_subdir(module), False))
translations_archive = zipfile.ZipFile(translations_file)
for path in translations_archive.namelist():
web_path = os.path.join(
'web', 'po', 'messages', os.path.basename(path))
web_archive.writestr(
web_path,
translations_archive.read(path))
translations_archive.close()
translations_file.close()
web_archive.close()
try:
return web_zip.getvalue()
finally:
web_zip.close()
def get_web(self, cr, uid, names, context=None):
""" get_web(cr, uid, [module_name], context) -> [{name, depends, content}]
Returns the web content of all the named addons.
The toplevel directory of the zipped content is called 'web',
its final naming has to be managed by the client
"""
modules = self.browse(cr, uid,
self.search(cr, uid, [('name', 'in', names)], context=context),
context=context)
if not modules: return []
self.__logger.info('Sending web content of modules %s '
'to web client', names)
modules_data = []
for module in modules:
web_data = addons.zip_directory(
addons.get_module_resource(module.name, 'web'), False)
if self._translations_subdir(module):
web_data = self._add_translations(module, web_data)
modules_data.append({
'name': module.name,
'version': module.installed_version,
'depends': list(self._web_dependencies(
cr, uid, module, context=context)),
'content': base64.encodestring(web_data)
})
return modules_data
module()
root_menu_ids = []
for menu in self.pool.get('ir.ui.menu').browse(cr, uid, all_menu_ids, context=context):
while menu.parent_id:
menu = menu.parent_id
if not menu.id in root_menu_ids:
root_menu_ids.append(menu.id)
return root_menu_ids
class module_dependency(osv.osv):
_name = "ir.module.module.dependency"
@ -706,4 +657,5 @@ class module_dependency(osv.osv):
('unknown', 'Unknown'),
], string='State', readonly=True, select=True),
}
module_dependency()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -114,13 +114,44 @@
<field name="sequence">15</field>
</record>
<!--
<record id="ir_ui_view_sc_modules0" model="ir.ui.view_sc">
<field name="name">Modules</field>
<field name="resource">ir.ui.menu</field>
<field name="user_id" ref="base.user_root"/>
<field name="res_id" ref="base.menu_module_tree"/>
<record model="ir.module.category" id="module_category_administration">
<field name="name">Administration</field>
<field name="sequence">100</field>
</record>
-->
<record model="ir.module.category" id="module_category_usability">
<field name="name">Usability</field>
<field name="sequence">101</field>
</record>
<!-- add applications to base groups -->
<record model="res.groups" id="group_erp_manager">
<field name="category_id" ref="module_category_administration"/>
</record>
<record model="res.groups" id="group_system">
<field name="category_id" ref="module_category_administration"/>
</record>
<record model="res.groups" id="group_user">
<field name="category_id" ref="module_category_human_resources"/>
</record>
<record model="res.groups" id="group_multi_company">
<field name="category_id" ref="module_category_usability"/>
</record>
<record model="res.groups" id="group_extended">
<field name="category_id" ref="module_category_usability"/>
</record>
<record model="res.groups" id="group_no_one">
<field name="category_id" ref="module_category_usability"/>
</record>
<record model="res.groups" id="group_sale_salesman">
<field name="category_id" ref="module_category_sales_management"/>
</record>
<record model="res.groups" id="group_sale_manager">
<field name="category_id" ref="module_category_sales_management"/>
</record>
</data>
</openerp>

View File

@ -11,8 +11,10 @@
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<form string="Module Category">
<field colspan="4" name="name"/>
<field colspan="4" name="parent_id"/>
<field name="name"/>
<field name="parent_id"/>
<field name="sequence"/>
<field name="description" colspan="4"/>
</form>
</field>
</record>
@ -39,35 +41,66 @@
<field name="arch" type="xml">
<search string="Search modules">
<group col='10' colspan='4'>
<filter name="app" icon="terp-check" string="Apps" domain="[('application', '=', 1)]"/>
<filter name="extra" icon="terp-check" string="Extra" domain="[('application', '=', 0)]"/>
<separator orientation="vertical"/>
<filter icon="terp-check" string="Installed" domain="[('state', 'in', ['installed', 'to upgrade', 'to remove'])]"/>
<filter icon="terp-dialog-close" string="Not Installed" domain="[('state', 'in', ['uninstalled', 'uninstallable'])]"/>
<filter icon="terp-gtk-jump-to-ltr" string="To be upgraded" domain="[('state','in', ['to upgrade', 'to remove', 'to install'])]"/>
<filter icon="terp-dialog-close" string="Not Installed" domain="[('state', 'in', ['uninstalled', 'uninstallable', 'to install'])]"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test" string="Certified" domain="[('certificate','&lt;&gt;', False)]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="complexity"/>
<field name="description"/>
<field name="dependencies_id"/>
<field name="state"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_extended">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'author'}"/>
<separator orientation="vertical"/>
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<field name="name"
filter_domain="['|', ('name','ilike',self), ('shortdesc','ilike',self)]"
string="Name"/>
<field name="description" string="Keywords"/>
<field name="category_id">
<filter name="no_hidden" help="Hide technical modules"
icon="STOCK_REMOVE" groups="base.group_no_one"
domain="['!', ('category_id.parent_id','child_of','Hidden')]"/>
</field>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="module_view_kanban">
<field name="name">Modules Kanban</field>
<field name="model">ir.module.module</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
<kanban>
<field name="icon"/>
<field name="name"/>
<field name="state"/>
<field name="complexity"/>
<templates>
<t t-name="kanban-box">
<t t-set="installed" t-value="record.state.raw_value == 'installed'"/>
<a type="edit">
<img t-attf-src="#{record.icon.value}" class="oe_module_icon"/>
</a>
<div class="oe_module_desc">
<h4><a type="edit"><field name="shortdesc"/></a></h4>
<p>
<field name="category_id"/><br/>
<field name="name"/><br/>
<span t-if="record.complexity.raw_value == 'Expert'" class="oe_label oe_warning">Complex</span>
</p>
<button type="object" name="button_immediate_install" states="uninstalled" class="button">Install</button>
<button t-if="installed" class="label" disabled="disabled">Installed</button>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="action_module_open_categ" model="ir.actions.act_window">
<field name="name">Modules</field>
<field name="res_model">ir.module.module</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,form,kanban</field>
<field name="domain">[('category_id','=',active_id)]</field>
</record>
<record id="ir_action_module_category" model="ir.values">
@ -75,7 +108,6 @@
<field eval="'ir.module.category'" name="model"/>
<field name="name">Categorized Modules</field>
<field eval="'ir.actions.act_window,%d'%action_module_open_categ" name="value"/>
<field eval="True" name="object"/>
</record>
@ -87,12 +119,16 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Module">
<field name="name" select="1"/>
<field name="certificate" />
<field colspan="4" name="shortdesc" select="2"/>
<field name="category_id"/>
<field name="complexity"/>
<field name="demo" readonly="1"/>
<group colspan="4" col="6">
<field name="name"/>
<field name="shortdesc"/>
<field name="certificate" />
<field name="category_id"/>
<field name="complexity"/>
<field name="demo"/>
<field name="icon"/>
<field name="application"/>
</group>
<notebook colspan="4">
<page string="Module">
<group colspan="4" col="4">
@ -118,7 +154,7 @@
<button name="button_install_cancel" states="to install" string="Cancel Install" icon="gtk-cancel" type="object"/>
<button name="button_uninstall" states="installed" string="Uninstall (beta)" icon="terp-dialog-close" type="object"/>
<button name="button_uninstall_cancel" states="to remove" string="Cancel Uninstall" icon="gtk-cancel" type="object"/>
<button name="button_upgrade" states="installed" string="Schedule Upgrade" icon="terp-gtk-go-back-rtl" type="object"/>
<button name="button_upgrade" states="installed" string="Upgrade" icon="terp-gtk-go-back-rtl" type="object"/>
<button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" icon="gtk-cancel" type="object"/>
</group>
</page>
@ -164,8 +200,8 @@
<field name="name">Modules</field>
<field name="res_model">ir.module.module</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain"/>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{'search_default_app':1, 'search_default_no_hidden': 1}</field>
<field name="search_view_id" ref="view_module_filter"/>
<field name="help">You can install new modules in order to activate new features, menu, reports or data in your OpenERP instance. To install some modules, click on the button "Install" from the form view and then click on "Start Upgrade".</field>
</record>

View File

@ -68,3 +68,5 @@ class base_language_import(osv.osv_memory):
return {}
base_language_import()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -60,6 +60,7 @@ After importing a new module you can install it by clicking on the button "Insta
action="action_view_base_module_import"
id="menu_view_base_module_import"
parent="menu_management"
groups="base.group_extended"
sequence="1"/>
</data>

View File

@ -70,4 +70,6 @@ class base_module_scan(osv.osv_memory):
mod_obj.write(cr, uid, [mod['id']], {'state': 'uninstalled'})
return {}
base_module_scan()
base_module_scan()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -55,12 +55,13 @@
</record>
<menuitem
name="Update Modules List"
action="action_view_base_module_update"
id="menu_view_base_module_update"
parent="menu_management"
sequence="2"
icon="STOCK_CONVERT"/>
name="Update Modules List"
action="action_view_base_module_update"
id="menu_view_base_module_update"
groups="base.group_extended"
parent="menu_management"
sequence="2"
icon="STOCK_CONVERT"/>
</data>
</openerp>

View File

@ -116,3 +116,5 @@ class base_module_upgrade(osv.osv_memory):
return self.pool.get('res.config').next(cr, uid, [], context=context)
base_module_upgrade()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -31,11 +31,12 @@
</record>
<menuitem
name="Apply Scheduled Upgrades"
action="action_view_base_module_upgrade"
id="menu_view_base_module_upgrade"
parent="menu_management"
sequence="3"/>
name="Apply Scheduled Upgrades"
action="action_view_base_module_upgrade"
groups="base.group_extended"
id="menu_view_base_module_upgrade"
parent="menu_management"
sequence="3"/>
<record id="view_base_module_upgrade_install" model="ir.ui.view">
<field name="name">Module Upgrade Install</field>

View File

@ -72,3 +72,5 @@ class base_update_translations(osv.osv_memory):
}
base_update_translations()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1 +1,3 @@
import preview_report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -156,7 +156,7 @@ class ir_property(osv.osv):
return time.strftime('%Y-%m-%d', time.strptime(record.value_datetime, '%Y-%m-%d %H:%M:%S'))
return False
def get(self, cr, uid, name, model, res_id=False, context={}):
def get(self, cr, uid, name, model, res_id=False, context=None):
domain = self._get_domain(cr, uid, name, model, context=context)
if domain is not None:
domain = [('res_id', '=', res_id)] + domain

View File

@ -73,7 +73,7 @@
<field name="view_type">form</field>
<field name="view_id" ref="ir_property_view_tree"/>
</record>
<menuitem id="next_id_15" name="Parameters" parent="base.menu_config" groups="base.group_extended" />
<menuitem id="next_id_15" name="Parameters" parent="base.menu_config" groups="base.group_extended" sequence="12"/>
<menuitem action="ir_property_form" id="menu_ir_property_form_all" parent="base.next_id_15"/>
</data>
</openerp>

View File

@ -139,7 +139,7 @@ class res_partner_bank(osv.osv):
'state': fields.selection(_bank_type_get, 'Bank Account Type', required=True,
change_default=True),
'sequence': fields.integer('Sequence'),
'footer': fields.boolean("Display on Reports")
'footer': fields.boolean("Display on Reports", help="Display this bank account on the footer of printed documents like invoices and sales orders.")
}
_defaults = {
'owner_name': lambda obj, cursor, user, context: obj._default_value(
@ -190,7 +190,7 @@ class res_partner_bank(osv.osv):
res.append((val.id, result))
return res
def onchange_company_id(self, cr, uid, ids, company_id, context={}):
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
result = {}
if company_id:
c = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
@ -201,7 +201,7 @@ class res_partner_bank(osv.osv):
result = r
return result
def onchange_bank_id(self, cr, uid, ids, bank_id, context={}):
def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
result = {}
if bank_id:
bank = self.pool.get('res.bank').browse(cr, uid, bank_id, context=context)
@ -210,7 +210,7 @@ class res_partner_bank(osv.osv):
return {'value': result}
def onchange_partner_id(self, cr, uid, id, partner_id, context={}):
def onchange_partner_id(self, cr, uid, id, partner_id, context=None):
result = {}
if partner_id:
part = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
@ -224,4 +224,4 @@ class res_partner_bank(osv.osv):
res_partner_bank()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -148,7 +148,7 @@ class res_company(osv.osv):
_sql_constraints = [
('name_uniq', 'unique (name)', 'The company name must be unique !')
]
def on_change_header(self, cr, uid, ids, phone, email, fax, website, vat, reg=False, context={}):
def on_change_header(self, cr, uid, ids, phone, email, fax, website, vat, reg=False, context=None):
val = []
if phone: val.append(_('Phone: ')+phone)
if fax: val.append(_('Fax: ')+fax)
@ -201,7 +201,7 @@ class res_company(osv.osv):
ids = self.search(cr, uid, [('parent_id','child_of',[company])])
return ids
def _get_partner_hierarchy(self, cr, uid, company_id, context={}):
def _get_partner_hierarchy(self, cr, uid, company_id, context=None):
if company_id:
parent_id = self.browse(cr, uid, company_id)['parent_id']
if parent_id:
@ -210,7 +210,7 @@ class res_company(osv.osv):
return self._get_partner_descendance(cr, uid, company_id, [], context)
return []
def _get_partner_descendance(self, cr, uid, company_id, descendance, context={}):
def _get_partner_descendance(self, cr, uid, company_id, descendance, context=None):
descendance.append(self.browse(cr, uid, company_id).partner_id.id)
for child_id in self._get_company_children(cr, uid, company_id):
if child_id != company_id:
@ -239,7 +239,7 @@ class res_company(osv.osv):
self.cache_restart(cr)
return super(res_company, self).write(cr, *args, **argv)
def _get_euro(self, cr, uid, context={}):
def _get_euro(self, cr, uid, context=None):
try:
return self.pool.get('res.currency').search(cr, uid, [])[0]
except:

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