[MERGE] merged trunk.

bzr revid: vmt@openerp.com-20120806102630-psx2mywo3w5da81i
This commit is contained in:
Vo Minh Thu 2012-08-06 12:26:30 +02:00
commit 66d054471c
130 changed files with 5940 additions and 2162 deletions

View File

@ -96,6 +96,6 @@
'installable': True,
'auto_install': True,
'certificate': '0076807797149',
"css": [ 'static/src/css/modules.css' ],
'css': ['static/src/css/modules.css'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -286,6 +286,7 @@ CREATE TABLE ir_module_module (
write_date timestamp without time zone,
write_uid integer references res_users on delete set null,
website character varying(256),
summary character varying(256),
name character varying(128) NOT NULL,
author character varying(128),
url character varying(128),
@ -347,6 +348,39 @@ CREATE TABLE ir_model_data (
res_id integer, primary key(id)
);
-- Records foreign keys and constraints installed by a module (so they can be
-- removed when the module is uninstalled):
-- - for a foreign key: type is 'f',
-- - for a constraint: type is 'u' (this is the convention PostgreSQL uses).
CREATE TABLE ir_model_constraint (
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
date_init timestamp without time zone,
date_update timestamp without time zone,
module integer NOT NULL references ir_module_module on delete restrict,
model integer NOT NULL references ir_model on delete restrict,
type character varying(1) NOT NULL,
name character varying(128) NOT NULL
);
-- Records relation tables (i.e. implementing many2many) installed by a module
-- (so they can be removed when the module is uninstalled).
CREATE TABLE ir_model_relation (
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
date_init timestamp without time zone,
date_update timestamp without time zone,
module integer NOT NULL references ir_module_module on delete restrict,
model integer NOT NULL references ir_model on delete restrict,
name character varying(128) NOT NULL
);
---------------------------------
-- Users
---------------------------------

View File

@ -1,23 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem id="menu_reporting" name="Reporting" sequence="90"/>
<!-- Top menu item -->
<menuitem name="Reporting"
id="menu_reporting"
groups="base.group_user"
sequence="170"/>
<menuitem id="menu_reporting_dashboard" name="Dashboards" parent="menu_reporting" sequence="0"/>
<menuitem id="menu_reporting_config" name="Configuration" parent="menu_reporting" sequence="100" groups="base.group_system"/>
<menuitem id="menu_administration" name="Settings" sequence="100" icon="terp-administration"/>
<!-- Top menu item -->
<menuitem name="Settings"
id="menu_administration"
sequence="500"/>
<menuitem id="menu_management" name="Modules" parent="menu_administration" sequence="0"/>
<menuitem id="menu_config" name="Configuration" parent="menu_administration" sequence="1"/>
<menuitem id="menu_administration_shortcut" parent="menu_administration" name="Custom Shortcuts" sequence="50"/>
<menuitem id="menu_users" name="Users" parent="menu_administration" sequence="4"/>
<menuitem id="menu_translation" name="Translations" parent="menu_administration" sequence="7"/>
<menuitem id="menu_translation_app" name="Application Terms" parent="menu_translation" sequence="4" groups="base.group_no_one"/>
<menuitem id="menu_translation_export" name="Import / Export" groups="base.group_no_one" parent="menu_translation" sequence="3"/>
<menuitem id="menu_custom" name="Technical" parent="menu_administration" sequence="110" groups="base.group_no_one"/>
<menuitem id="next_id_2" name="User Interface" parent="menu_custom"/>
<menuitem id="menu_translation_export" name="Import / Export" parent="menu_translation" sequence="3" groups="base.group_no_one"/>
<menuitem id="menu_custom" name="Technical" parent="menu_administration" sequence="110" groups="base.group_no_one"/>
<menuitem id="next_id_2" name="User Interface" parent="menu_custom"/>
<menuitem id="menu_email" name="Email" parent="menu_custom" sequence="1"/>
<menuitem id="menu_security" name="Security" parent="menu_custom" sequence="25"/>
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" sequence="24"/>
<menuitem id="next_id_4" name="Low Level Objects" parent="menu_custom" sequence="30"/>
<menuitem id="menu_low_workflow" name="Workflows" parent="next_id_4"/>
</data>
</openerp>

View File

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

View File

@ -14,13 +14,13 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:44+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:36+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
msgid "Saint Helena"
msgstr ""
msgstr "St. Helena"
#. module: base
#: view:ir.actions.report.xml:0
@ -35,7 +35,7 @@ msgstr "DagTyd"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "Take - Vonkpos Integrasie"
#. module: base
#: code:addons/fields.py:582
@ -44,6 +44,8 @@ msgid ""
"The second argument of the many2many field %s must be a SQL table !You used "
"%s, which is not a valid SQL table name."
msgstr ""
"Die tweede argument van die baie2baie veld %s moet 'n SQL-tabel wees! U "
"gebruik %s, wat nie 'n geldige SQL tabel naam is nie."
#. module: base
#: field:ir.ui.view,arch:0
@ -70,11 +72,26 @@ msgid ""
" * Graph of My Remaining Hours by Project\n"
" "
msgstr ""
"\n"
"Projek bestuur module volg multi-vlak projekte, take, werk wat gedoen is aan "
"take, esm.\n"
"================================================== "
"====================================\n"
"\n"
"Dit is in staat om beplanning te lewer, take te sorteer, . eso\n"
"\n"
"Bedieningspaneel vir die projek lede wat insluit:\n"
"--------------------------------------------\n"
"* Lys van my oop take\n"
"* Lys van my gedelegeerde take\n"
"* Grafiek van my projekte: Beplande vs Totale ure\n"
"* Grafiek van my Oorblywende ure per Projek\n"
" "
#. module: base
#: field:base.language.import,code:0
msgid "Code (eg:en__US)"
msgstr ""
msgstr "Kode (bv.: en__US)"
#. module: base
#: view:workflow:0
@ -84,7 +101,7 @@ msgstr ""
#: field:workflow.transition,wkf_id:0
#: field:workflow.workitem,wkf_id:0
msgid "Workflow"
msgstr ""
msgstr "Werksvloei"
#. module: base
#: selection:ir.sequence,implementation:0
@ -94,12 +111,12 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Hungarian / Magyar"
msgstr ""
msgstr "Hongaars / Magyar"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (PY) / Español (PY)"
msgstr ""
msgstr "Spaans (PY) / Español (PY)"
#. module: base
#: model:ir.module.category,description:base.module_category_project_management
@ -107,11 +124,13 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Help om jou projekte en take te bestuur deur dit na te volg, planne te maak, "
"ens .."
#. module: base
#: field:ir.actions.act_window,display_menu_tip:0
msgid "Display Menu Tips"
msgstr ""
msgstr "Vertoon Kieslys Wenke"
#. module: base
#: help:ir.cron,model:0

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:44+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -4155,7 +4155,9 @@ msgstr ""
msgid ""
"Your OpenERP Publisher's Warranty Contract unique key, also called serial "
"number."
msgstr "شفرة ضمان الناشر لأوبنيرب."
msgstr ""
"رمز اتفاقية ضمان الناشر الخاص بك لنظام أوبن إي آر بي، يدعى أيضاً الرقم "
"التسلسلي."
#. module: base
#: model:ir.module.module,description:base.module_base_setup

View File

@ -467,7 +467,7 @@ msgstr ""
#. module: base
#: field:res.bank,email:0
#: field:res.partner.address,email:0
msgid "E-Mail"
msgid "Email
msgstr ""
#. module: base
@ -544,16 +544,16 @@ msgid "\n"
"==========================================================================\n"
"\n"
"You can define your multiple levels of recall through the menu:\n"
" Accounting/Configuration/Miscellaneous/Follow-Ups\n"
" Accounting/Configuration/Miscellaneous/Follow-ups\n"
"\n"
"Once it is defined, you can automatically print recalls every day through simply clicking on the menu:\n"
" Accounting/Periodical Processing/Billing/Send followups\n"
" Accounting/Periodical Processing/Billing/Send follow-ups\n"
"\n"
"It will generate a PDF with all the letters according to the the\n"
"different levels of recall defined. You can define different policies\n"
"for different companies. You can also send mail to the customer.\n"
"\n"
"Note that if you want to check the followup level for a given partner/account entry, you can do from in the menu:\n"
"Note that if you want to check the follow-up level for a given partner/account entry, you can do from in the menu:\n"
" Accounting/Reporting/Generic Reporting/Partners/Follow-ups Sent\n"
"\n"
""
@ -7592,7 +7592,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_email_template
msgid "E-Mail Templates"
msgid "Email Templates
msgstr ""
#. module: base
@ -9455,7 +9455,7 @@ msgstr ""
#. module: base
#: field:res.partner,email:0
msgid "E-mail"
msgid "Email
msgstr ""
#. module: base
@ -12688,7 +12688,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_followup
msgid "Followup Management"
msgid "Follow-up Management"
msgstr ""
#. module: base

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

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: 2012-06-19 04:47+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-SourceCharset: utf-8\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: 2012-06-19 04:52+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh

View File

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

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:53+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -3796,12 +3796,12 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgstr "IVA"
msgstr "RUT"
#. module: base
#: field:res.users,new_password:0
msgid "Set password"
msgstr ""
msgstr "Establecer contraseña"
#. module: base
#: view:res.lang:0
@ -14477,7 +14477,7 @@ msgstr "No puede suprimir el campo '%s' !"
#. module: base
#: view:res.users:0
msgid "Allowed Companies"
msgstr ""
msgstr "Compañias permitidas"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_de

View File

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

View File

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

View File

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

View File

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

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: 2012-06-19 04:49+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\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: 2012-06-19 04:53+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:46+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -6490,6 +6490,83 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
" Module d'importation des états bancaires CODA.\n"
"\n"
" Les fichiers supportés sont les fichiers plats CODA en version v2 des "
"comptes bancaires Belges.\n"
" - CODA v1 supporté.\n"
" - CODA v2.2 supporté.\n"
" - Devises Étrangères supportées.\n"
" - Support pour tous les enregistrements de type (0, 1, 2, 3, 4, 8, 9).\n"
" - Parsing & logging pour tous les Types de Transactions et les Formats "
"Structurés de Communications.\n"
" - Imputation Automatique des Journaux Financiers via les paramètres de "
"configuration CODA.\n"
" - Support des Journaux multiples par numéro de compte bancaire.\n"
" - Support des états multiples de différents comptes bancaires sur un "
"fichier CODA unique.\n"
" - Support pour \"analyse seule\" ('parsing only') CODA des comptes "
"bancaires (définis comme type='info' dans les enregistrements de "
"configuration CODA du compte bancaire).\n"
" - Analyse CODA mulit-langues, données de configuration pour l'analyse "
"fournie en EN, NL, FR.\n"
"\n"
" Les fichiers CODA informatiquement lisibles sont analysés et enregistrés "
"en format texte dans des états bancaires CODA.\n"
" Also Bank Statements are generated containing a subset of the CODA "
"information (only those transaction lines\n"
" that are required for the creation of the Financial Accounting "
"records).\n"
" The CODA Bank Statement is a 'read-only' object, hence remaining a "
"reliable representation of the original CODA file\n"
" whereas the Bank Statement will get modified as required by accounting "
"business processes.\n"
"\n"
" CODA Bank Accounts configured as type 'Info' will only generate CODA "
"Bank Statements.\n"
"\n"
" A removal of one object in the CODA processing results in the removal of "
"the associated objects.\n"
" The removal of a CODA File containing multiple Bank Statements will also "
"remove those associated\n"
" statements.\n"
"\n"
" The following reconciliation logic has been implemented in the CODA "
"processing:\n"
" 1) The Company's Bank Account Number of the CODA statement is compared "
"against the Bank Account Number field\n"
" of the Company's CODA Bank Account configuration records (whereby "
"bank accounts defined in type='info' configuration records are ignored).\n"
" If this is the case an 'internal transfer' transaction is generated "
"using the 'Internal Transfer Account' field of the CODA File Import wizard.\n"
" 2) As a second step the 'Structured Communication' field of the CODA "
"transaction line is matched against\n"
" the reference field of in- and outgoing invoices (supported : Belgian "
"Structured Communication Type).\n"
" 3) When the previous step doesn't find a match, the transaction "
"counterparty is located via the\n"
" Bank Account Number configured on the OpenERP Customer and Supplier "
"records.\n"
" 4) In case the previous steps are not successful, the transaction is "
"generated by using the 'Default Account\n"
" for Unrecognized Movement' field of the CODA File Import wizard in "
"order to allow further manual processing.\n"
"\n"
" In stead of a manual adjustment of the generated Bank Statements, you "
"can also re-import the CODA\n"
" after updating the OpenERP database with the information that was "
"missing to allow automatic reconciliation.\n"
"\n"
" Remark on CODA V1 support:\n"
" In some cases a transaction code, transaction category or structured "
"communication code has been given a new or clearer description in CODA V2.\n"
" The description provided by the CODA configuration tables is based upon "
"the CODA V2.2 specifications.\n"
" If required, you can manually adjust the descriptions via the CODA "
"configuration menu.\n"
"\n"
" "
#. module: base
#: model:res.country,name:base.et

View File

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

View File

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

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:50+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"Language: hr\n"
#. module: base
@ -182,7 +182,7 @@ msgstr ""
#. module: base
#: field:res.partner,ref:0
msgid "Reference"
msgstr "Referenca"
msgstr "Šifra"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
@ -3689,8 +3689,8 @@ msgid ""
"Value Added Tax number. Check the box if the partner is subjected to the "
"VAT. Used by the VAT legal statement."
msgstr ""
"PDV broj. Označite ako je partner podvrgnut PDV-u. Korišteno pri zakonskim "
"PDV izvještajima."
"PDV broj. Označite ako je partner obveznik PDV-a. Koristi se u nekim "
"izvještajima."
#. module: base
#: selection:ir.sequence,implementation:0
@ -3785,7 +3785,7 @@ msgstr "Provjera Ean"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgstr "VAT"
msgstr "PDV"
#. module: base
#: field:res.users,new_password:0
@ -10051,7 +10051,7 @@ msgstr "Tjedni"
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgstr ""
msgstr "PDV "
#. module: base
#: model:res.country,name:base.af

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-06-09 01:13+0000\n"
"PO-Revision-Date: 2012-08-02 17:18+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:48+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-08-03 05:45+0000\n"
"X-Generator: Launchpad (build 15734)\n"
#. module: base
#: model:res.country,name:base.sh
@ -283,7 +283,7 @@ msgstr "イヌクウティトット語 / Inuktitut"
#: model:ir.module.category,name:base.module_category_sales_management
#: model:ir.module.module,shortdesc:base.module_sale
msgid "Sales Management"
msgstr "セールス管理"
msgstr "受注管理"
#. module: base
#: view:res.partner:0
@ -459,7 +459,7 @@ msgstr "ir.ui.view_sc"
#: field:res.widget.user,widget_id:0
#: field:res.widget.wizard,widgets_list:0
msgid "Widget"
msgstr "ウィジット"
msgstr "ウィジット"
#. module: base
#: view:ir.model.access:0
@ -885,7 +885,7 @@ msgstr "アルバニア語 / Shqip"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_opportunity
msgid "Opportunities"
msgstr "オポチュニティ"
msgstr "商談"
#. module: base
#: model:ir.model,name:base.model_base_language_export
@ -1002,7 +1002,7 @@ msgstr "オマーン"
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp
msgid "MRP"
msgstr "MRP(資材所要量計画)"
msgstr "MRP"
#. module: base
#: report:ir.module.reference.graph:0
@ -2042,7 +2042,7 @@ msgstr "優先度"
#. module: base
#: field:workflow.transition,act_from:0
msgid "Source Activity"
msgstr "ソースアクティビティ"
msgstr "元の活動"
#. module: base
#: view:ir.sequence:0
@ -2435,7 +2435,7 @@ msgstr "一般的な説明"
#. module: base
#: view:workflow.activity:0
msgid "Workflow Activity"
msgstr "ワークフローアクティビティ"
msgstr "ワークフロー活動"
#. module: base
#: model:ir.actions.act_window,help:base.action_ui_view
@ -2514,7 +2514,7 @@ msgstr ""
#. module: base
#: model:ir.actions.act_window,name:base.action_res_widget_wizard
msgid "Homepage Widgets Management"
msgstr "ホームページウィジット管理"
msgstr "ホームページウィジット管理"
#. module: base
#: field:res.company,rml_header1:0
@ -2704,7 +2704,7 @@ msgstr "アイデア"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_crm
msgid "Opportunity to Quotation"
msgstr "オポチュニティから見積り"
msgstr "商談から見積り"
#. module: base
#: model:ir.module.module,description:base.module_sale_analytic_plans
@ -2782,7 +2782,7 @@ msgstr "インポート / エクスポート"
#. module: base
#: model:ir.actions.todo.category,name:base.category_tools_customization_config
msgid "Tools / Customization"
msgstr "ツール / カスタマイゼーション"
msgstr "ツール / カスタム化"
#. module: base
#: field:ir.model.data,res_id:0
@ -2895,7 +2895,7 @@ msgstr "マネジャ"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
msgid "Customization"
msgstr "カスタマイゼーション"
msgstr "カスタム化"
#. module: base
#: model:res.country,name:base.py
@ -3080,7 +3080,7 @@ msgstr "プロジェクトレトロ - 計画"
#. module: base
#: model:ir.module.module,shortdesc:base.module_stock_planning
msgid "Master Procurement Schedule"
msgstr "マスター獲得スケジュール"
msgstr "マスター調達スケジュール"
#. module: base
#: model:ir.model,name:base.model_ir_module_category
@ -3795,7 +3795,7 @@ msgstr "ホスト名またはSMTPサーバのIPアドレス"
#. module: base
#: selection:base.language.install,lang:0
msgid "Japanese / 日本語"
msgstr "Japanese / 日本語"
msgstr "日本語 / Japanese"
#. module: base
#: field:ir.actions.report.xml,auto:0
@ -4776,9 +4776,9 @@ msgstr ""
"============================================================================="
"=========================\n"
"\n"
"このモジュールを使うことで、あなたのオポチュニティを地理的ローカル化できます。\n"
"このモジュールを使うことで、あなたの商談を地理的ローカル化できます。\n"
"\n"
"オポチュニティをパートナに割り当てる場合に地理的ローカル化を使います。\n"
"商談をパートナに割り当てる場合に、地理的ローカル化を使います。\n"
"パートナの住所によるGPS座標を決定します。\n"
"最も適切なパートナの割り当てが可能です。\n"
"また、GPS座標なしでも地理的ローカル化はできます。\n"
@ -5871,8 +5871,8 @@ msgid ""
"will automatically attach incoming emails to the right partner."
msgstr ""
"顧客は会社または組織といったビジネス対象の存在です。会社で働く人々のため顧客は複数のコンタクト者や住所を管理できます。顧客と関係する全てのトランザクション"
"をたどるために履歴タブが利用できます受注、Eメール、オポチュニティ、クレームなど。もし、OutlookやThunderbirdプラグインのEメールゲート"
"ウェイを使う場合、ゲートウェイが自動的に入ってくるEメールを正しいパートナに結びつけるように各コンタクトにEメールを登録することを忘れないで下さい。"
"をたどるために履歴タブが利用できます受注、Eメール、商談、クレームなど。もし、OutlookやThunderbirdプラグインのEメールゲートウェイを使"
"う場合、ゲートウェイが自動的に入ってくるEメールを正しいパートナに結びつけるように各コンタクトにEメールを登録することを忘れないで下さい。"
#. module: base
#: field:ir.actions.report.xml,name:0
@ -6002,7 +6002,7 @@ msgstr "南極大陸"
msgid ""
"Source activity. When this activity is over, the condition is tested to "
"determine if we can start the ACT_TO activity."
msgstr "ソースアクティビティ。そのアクティビティを終えた時に、ACT_TO活動を始めるかどうか条件がテストされます。"
msgstr "元の活動。その活動を終えた時に、ACT_TO活動を始めるかどうか条件がテストされます。"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_3
@ -6423,7 +6423,7 @@ msgstr "多対1項目の属性削除"
#. module: base
#: model:ir.module.category,name:base.module_category_accounting_and_finance
msgid "Accounting & Finance"
msgstr "会計と金融"
msgstr "会計と財務"
#. module: base
#: field:ir.actions.server,write_id:0
@ -6961,7 +6961,7 @@ msgstr ""
#: field:res.request,act_to:0
#: field:res.request.history,act_to:0
msgid "To"
msgstr ""
msgstr "宛先"
#. module: base
#: view:ir.sequence:0
@ -7472,7 +7472,7 @@ msgstr "アクセスの作成"
#: field:res.partner.address,state_id:0
#: field:res.partner.bank,state_id:0
msgid "Fed. State"
msgstr ""
msgstr "都道府県"
#. module: base
#: field:ir.actions.server,copy_object:0
@ -7703,7 +7703,7 @@ msgstr "販売員"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_accountant
msgid "Accounting and Finance"
msgstr "会計と金融"
msgstr "会計と財務"
#. module: base
#: code:addons/base/module/module.py:429
@ -7797,7 +7797,7 @@ msgstr ""
#. module: base
#: view:res.widget.wizard:0
msgid "Widget Wizard"
msgstr "ウィジットウィザード"
msgstr "ウィジットウィザード"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_hn
@ -7933,7 +7933,7 @@ msgid ""
" "
msgstr ""
"\n"
"このモジュールはCRMにつあるいは幾つかのオポチュニティに近道を加えます。\n"
"このモジュールはCRMにつあるいは幾つかの商談に近道を加えます。\n"
"===========================================================================\n"
"\n"
"この方法は選択されたケースに基づき受注オーダーを作成します。\n"
@ -8215,7 +8215,7 @@ msgstr "中国語 / 简体中文"
#: field:res.partner.address,street:0
#: field:res.partner.bank,street:0
msgid "Street"
msgstr ""
msgstr "町名番地"
#. module: base
#: model:res.country,name:base.yu
@ -8676,7 +8676,7 @@ msgstr ""
"===========================================================================\n"
"\n"
"所定のメールボックスに到着した新しいEメールを元にタスクの生成を許します。\n"
"CRMアプリケーションがリード / オポチュニティを持つものも同様です。\n"
"CRMアプリケーションがリード / 商談を持つものも同様です。\n"
"メールボックス統合の設定のために2つの共通の選択肢があります:\n"
"\n"
" ・ fetchmailモジュールをインストールし、新しいメールボックスを設定し、それから\n"
@ -8874,7 +8874,7 @@ msgstr ""
#. module: base
#: field:workflow.transition,act_to:0
msgid "Destination Activity"
msgstr "行先のアクティビティ"
msgstr "宛先の活動"
#. module: base
#: help:res.currency,position:0
@ -9068,7 +9068,7 @@ msgid ""
msgstr ""
"顧客(システムの他のエリアではパートナと呼ばれる)は、彼らが見込み客、顧客であるのか、仕入先であるのかどうか会社の住所録の管理するのを手助けします。パート"
"ナのフォームは、会社のアドレスから、価格リストなどの多くの情報、パートナの連絡先まで相互に必要なすべての情報を追跡し、記録することができます。\r\n"
"CRMをインストールした場合は、履歴タブでパートナと共にオポチュニティ、電子メール、発行された受注など全ての対話を追跡することができます。"
"CRMをインストールした場合は、履歴タブでパートナと共に商談、電子メール、発行された受注など全ての対話を追跡することができます。"
#. module: base
#: model:res.country,name:base.ph
@ -10257,7 +10257,7 @@ msgstr ""
"\n"
"受注予測の解決のために製品の\"受注履歴\"を使うことができます。\n"
"あなたはこのテーブルの先頭と左のパラメータを入力しなければなりません。そして、システムはそれらのパラメータにより販売数量を計算します。\n"
"そして、所定の販売チームや期間のための結果を得ることができます。\n"
"そして、所定の営業チームや期間のための結果を得ることができます。\n"
"\n"
"MPSまたは調達計画\n"
"---------------------------\n"
@ -11064,7 +11064,7 @@ msgstr ""
"以下のような多くの電子メール対応のOpenERPドキュメントのために、電子メールベースの\n"
"ワークフローを簡単に作成するために利用することができます:\n"
"\n"
"・ CRMのリード / オポチュニティ\n"
"・ CRMのリード / 商談\n"
"・ CRMのクレーム\n"
"・ プロジェクトの問題\n"
"・ プロジェクトのタスク\n"
@ -11238,7 +11238,7 @@ msgid ""
"(default: 465)"
msgstr ""
"接続の暗号化方式を選択:\n"
"・ なし: SMTPセッションはクリアテキストで行われ。\n"
"・ なし: SMTPセッションはクリアテキストで行われます。\n"
"・ TLSSTARTTLSTLS暗号化はSMTPセッションの開始において要求されます推奨。\n"
"・ SSL/TLSSMTPセッションは専用のポートデフォルト465によってSSL/TLSで暗号化されます。"
@ -11312,7 +11312,7 @@ msgid ""
" "
msgstr ""
"\n"
"CRMのリードとオポチュニティのためのToDoリスト\n"
"CRMのリードと商談のためのToDoリスト\n"
" "
#. module: base
@ -11626,7 +11626,7 @@ msgstr "Googleインポート"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_12
msgid "Segmentation"
msgstr "分"
msgstr "分"
#. module: base
#: field:res.lang,thousands_sep:0
@ -12022,7 +12022,7 @@ msgstr "%m - 月[01,12]."
#: field:res.partner.address,city:0
#: field:res.partner.bank,city:0
msgid "City"
msgstr "市"
msgstr "市区町村"
#. module: base
#: model:res.country,name:base.qa
@ -12068,7 +12068,7 @@ msgstr ""
"このモジュールはパートナのアドレスの中にGoogleマップ項目を追加します。\n"
"====================================================\n"
"\n"
"これを使うと、URLウィジットからGoogleマップを直接開くことができます。"
"これを使うと、URLウィジットからGoogleマップを直接開くことができます。"
#. module: base
#: field:workflow.activity,action:0
@ -12203,7 +12203,7 @@ msgstr "モジュール更新結果"
#: view:workflow.activity:0
#: field:workflow.workitem,act_id:0
msgid "Activity"
msgstr "アクティビティ"
msgstr "活動"
#. module: base
#: view:res.partner:0
@ -12413,7 +12413,7 @@ msgstr "あなたが作成 / 書き込みたいオブジェクト。もし、そ
#: selection:ir.module.module,state:0
#: selection:ir.module.module.dependency,state:0
msgid "Not Installed"
msgstr "インストールされていません。"
msgstr "インストール"
#. module: base
#: view:workflow.activity:0
@ -12489,8 +12489,7 @@ msgstr ""
"さまざまな画面のアクションを自動的にトリガーする自動アクションの使用ができます。\n"
"\n"
"例:特定のユーザにより作成されたリードは自動的に特定のセールスチームにセットされたり、\n"
"あるいは14日以上保留状態であるオポチュニティは自動的にリマインダー電子メールの\n"
"トリガーになります。\n"
"あるいは14日以上保留状態である商談は自動的に通知電子メールのトリガーになります。\n"
" "
#. module: base
@ -12748,9 +12747,8 @@ msgid ""
" \"Contacts\", \"Employees\", Meetings, Phonecalls, Emails, and "
"Project, Project Tasks Data into OpenERP Module."
msgstr ""
"このモジュールはSugarCRMの以下のデータをOpenERPモジュールにインポートします\n"
"  リード、オポチュニティ、ユーザ、会計、コンタクト、従業員、ミーティング、\n"
"  電話、Eメール、プロジェクト、プロジェクトタスク"
"このモジュールはSugarCRMの以下のデータをOpenERPモジュールの中にインポートします\n"
"  リード、商談、ユーザ、会計、コンタクト、従業員、ミーティング、電話、Eメール、プロジェクト、プロジェクトタスク"
#. module: base
#: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_add_wizard
@ -12984,7 +12982,7 @@ msgstr "発注時の二重検証"
#: field:res.company,street2:0
#: field:res.partner.address,street2:0
msgid "Street2"
msgstr ""
msgstr "町名番地2"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_base_module_update
@ -14299,7 +14297,7 @@ msgstr "連絡先を隠すためにはアクティブな項目のチェックを
#. module: base
#: model:ir.model,name:base.model_res_widget_wizard
msgid "Add a widget for User"
msgstr "ユーザのウィジットを追加"
msgstr "ユーザのウィジットを追加"
#. module: base
#: model:res.country,name:base.dk
@ -15307,7 +15305,7 @@ msgstr "イラン"
#: 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 "ユーザ当りのウィジット"
#. module: base
#: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_form
@ -15581,7 +15579,7 @@ msgstr "情報"
#. module: base
#: view:res.widget.user:0
msgid "User Widgets"
msgstr "ユーザウィジット"
msgstr "ユーザウィジット"
#. module: base
#: view:base.module.update:0
@ -15655,7 +15653,7 @@ msgstr ""
#: view:workflow:0
#: field:workflow,activities:0
msgid "Activities"
msgstr "アクティビティ"
msgstr "活動"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product
@ -15867,7 +15865,7 @@ msgstr "DBパスワードの暗号化"
#. module: base
#: help:workflow.transition,act_to:0
msgid "The destination activity."
msgstr "行先のアクティビティ"
msgstr "宛先の活動"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_check_writing
@ -16388,7 +16386,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_lead
msgid "Leads & Opportunities"
msgstr "リードとオポチュニティ"
msgstr "リードと商談"
#. module: base
#: selection:base.language.install,lang:0
@ -17199,7 +17197,7 @@ msgstr ""
"一般的なOpenERPのCRMCustomer Relationship Management\n"
"=====================================================\n"
"\n"
"このシステムは人々のグループがリード、オポチュニティ、ミーティング、電話他を知的に効果的に\n"
"このシステムは人々のグループがリード、商談、ミーティング、電話他を知的に効果的に\n"
"管理することを可能にします。これはコミュニケーション、身分証明、優先度付け、割り当て、\n"
"問題解決、通知といった主要なタスクを管理します。\n"
"\n"
@ -17216,8 +17214,8 @@ msgstr ""
"Eメールゲートウェイを持ちます。\n"
"\n"
"CRMのために作成されるダッシュボードは次のものを含みます\n"
" ・ 分類別のオポチュニティ(グラフ)\n"
" ・ 工程別のオポチュニティ(グラフ)\n"
" ・ 分類別の商談(グラフ)\n"
" ・ 工程別の商談(グラフ)\n"
" ・ 工程とユーザ別の計画収益(グラフ)\n"
#. module: base
@ -17623,14 +17621,14 @@ msgstr "機能"
#. module: base
#: view:res.widget:0
msgid "Search Widget"
msgstr "ウィジットの検索"
msgstr "ウィジットの検索"
#. module: base
#: model:ir.module.category,description:base.module_category_customer_relationship_management
msgid ""
"Manage relations with prospects and customers using leads, opportunities, "
"requests or issues."
msgstr "リード、オポチュニティ、リクエスト、問題を使って、見込み客や顧客との関係を管理することができます。"
msgstr "リード、商談、リクエスト、問題を使って、見込み客や顧客との関係を管理することができます。"
#. module: base
#: selection:res.partner.address,type:0
@ -17744,7 +17742,7 @@ msgstr "受発注のドキュメントの内容に応じて、自動的に正し
#: model:ir.actions.act_window,name:base.res_widget_act_window
#: model:ir.ui.menu,name:base.menu_res_widget_act_window
msgid "Homepage Widgets"
msgstr "ホームページウィジット"
msgstr "ホームページウィジット"
#. module: base
#: help:res.company,rml_footer2:0
@ -17817,23 +17815,23 @@ msgid ""
" "
msgstr ""
"\n"
"このモジュールは何の開発もなし新しいモジュールの作成ができます。\n"
"このモジュールは何の開発もなし新しいモジュールの作成ができます。\n"
"======================================================================\n"
"\n"
"これは記録セッションの中でオブジェクトの全ての操作を記録します。そして、\n"
".ZIPモジュールを生成します。それによって、OpenERPクライアントから直接\n"
"独自モジュールを作成することができます。\n"
"\n"
"このバージョンは作成と既存のレコードの更新ために動作します。それは依存関係と、\n"
"全てのウィジットのタイプのためリンク(多対1、多対多など)を再計算します。\n"
"このバージョンは作成と既存のレコードの更新ために動作します。それは依存関係と、\n"
"全てのウィジットのタイプのためリンク(多対1、多対多など)を再計算します。\n"
"また、ワークフローとデモ / 更新データもサポートします。\n"
"\n"
"カスタム設定とデモ / テストデータのために、簡単に再利用と公表可能なモジュールを\n"
"作成するために役立つはずです。\n"
"\n"
"利用方法:\n"
"モジュールウィザードの アドミニストレーション/カスタマイゼーション/モジュール \n"
"作成/エクスポート カスタマイゼーション を実行します。\n"
"モジュールウィザードの アドミニストレーション/カスタム化/モジュール \n"
"作成/エクスポート カスタム化 を実行します。\n"
"記録の日時の基準、記録されるオブジェクト、記録モジュールを選択します。\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: 2012-06-19 04:46+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh

View File

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

View File

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

View File

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

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:48+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -107,6 +107,8 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Palīdz pārvaldīt projektus un uzdevumus, tiem sekojot, ģenerējot plānojumus "
"utt."
#. module: base
#: field:ir.actions.act_window,display_menu_tip:0
@ -220,7 +222,7 @@ msgstr "Svazilenda"
#: code:addons/orm.py:4206
#, python-format
msgid "created."
msgstr ""
msgstr "izveidots."
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_tr
@ -264,7 +266,7 @@ msgstr ""
#: model:ir.module.category,name:base.module_category_sales_management
#: model:ir.module.module,shortdesc:base.module_sale
msgid "Sales Management"
msgstr ""
msgstr "Tirdzniecības Vadība"
#. module: base
#: view:res.partner:0
@ -365,7 +367,7 @@ msgstr ""
#. module: base
#: model:ir.module.category,name:base.module_category_customer_relationship_management
msgid "Customer Relationship Management"
msgstr ""
msgstr "Klientu Attiecību Vadība (CRM)"
#. module: base
#: view:ir.module.module:0
@ -693,7 +695,7 @@ msgstr "Exports veikts"
#. module: base
#: model:ir.module.module,shortdesc:base.module_plugin_outlook
msgid "Outlook Plug-In"
msgstr ""
msgstr "Outlook spraudnis"
#. module: base
#: view:ir.model:0
@ -1057,7 +1059,7 @@ msgstr "Tips"
#. module: base
#: field:ir.mail_server,smtp_user:0
msgid "Username"
msgstr ""
msgstr "Lietotājvārds"
#. module: base
#: code:addons/orm.py:398
@ -1205,7 +1207,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_import_sugarcrm
msgid "SugarCRM Import"
msgstr ""
msgstr "SugarCRM Imports"
#. module: base
#: view:res.lang:0
@ -1228,7 +1230,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_tests
msgid "Tests"
msgstr ""
msgstr "Pārbaudes"
#. module: base
#: field:ir.ui.view_sc,res_id:0
@ -1355,7 +1357,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_sequence
msgid "Entries Sequence Numbering"
msgstr ""
msgstr "Ierakstu Kārtas Numerācija"
#. module: base
#: model:ir.model,name:base.model_ir_exports
@ -1461,6 +1463,8 @@ msgid ""
"Helps you manage your purchase-related processes such as requests for "
"quotations, supplier invoices, etc..."
msgstr ""
"Palīdz pārvaldīt ar iepirkumiem saistītus procesus, kā pieprasījumus pēc "
"cenas piedāvājumiem, piegādātāju rēķinus utt."
#. module: base
#: help:base.language.install,overwrite:0
@ -1556,7 +1560,7 @@ msgstr "Float"
#: model:ir.module.category,name:base.module_category_warehouse_management
#: model:ir.module.module,shortdesc:base.module_stock
msgid "Warehouse Management"
msgstr ""
msgstr "Noliktavas Vadība"
#. module: base
#: model:ir.model,name:base.model_res_request_link
@ -1585,7 +1589,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_lu
msgid "Luxembourg - Accounting"
msgstr ""
msgstr "Luksemburga - Grāmatvedība"
#. module: base
#: model:res.country,name:base.tp
@ -1987,12 +1991,12 @@ msgstr "Somija"
#: code:addons/base/res/res_company.py:156
#, python-format
msgid "Website: "
msgstr ""
msgstr "Vietne: "
#. module: base
#: model:ir.ui.menu,name:base.menu_administration
msgid "Settings"
msgstr ""
msgstr "Uzstādījumi"
#. module: base
#: selection:ir.actions.act_window,view_type:0
@ -2093,7 +2097,7 @@ msgstr "Logotips"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_cr
msgid "Costa Rica - Accounting"
msgstr ""
msgstr "Kostarika - Grāmatvedība"
#. module: base
#: view:ir.module.module:0
@ -2166,7 +2170,7 @@ msgstr "Jaunināto moduļu skaits"
#. module: base
#: field:ir.cron,function:0
msgid "Method"
msgstr ""
msgstr "Metode"
#. module: base
#: view:res.partner.event:0
@ -2300,7 +2304,7 @@ msgstr ""
#. module: base
#: field:ir.mail_server,smtp_debug:0
msgid "Debugging"
msgstr ""
msgstr "Atkļūdošana"
#. module: base
#: model:ir.module.module,description:base.module_crm_helpdesk
@ -2410,12 +2414,12 @@ msgstr "Esošā Likme"
#. module: base
#: model:ir.module.module,shortdesc:base.module_idea
msgid "Ideas"
msgstr ""
msgstr "Idejas"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_crm
msgid "Opportunity to Quotation"
msgstr ""
msgstr "Konvertēt Potenciālo darījumu uz Cenas Pieprasījumu"
#. module: base
#: model:ir.module.module,description:base.module_sale_analytic_plans
@ -2452,7 +2456,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_invoiced
msgid "Invoicing"
msgstr ""
msgstr "Rēķinu izrakstīšana"
#. module: base
#: field:ir.ui.view_sc,name:0
@ -2577,7 +2581,7 @@ msgstr ""
#: model:res.groups,name:base.group_sale_manager
#: model:res.groups,name:base.group_tool_manager
msgid "Manager"
msgstr ""
msgstr "Menedžeris"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
@ -2627,6 +2631,8 @@ msgid ""
"Lets you install various tools to simplify and enhance OpenERP's report "
"creation."
msgstr ""
"Ļauj instalēt dažādus rīkus, lai vienkāršotu un uzlabotu OpenERP atskaišu "
"izveidi."
#. module: base
#: view:res.lang:0
@ -2637,7 +2643,7 @@ msgstr "%y - Gads bez gadsimta [00,99]."
#: code:addons/base/res/res_company.py:155
#, python-format
msgid "Fax: "
msgstr ""
msgstr "Fakss: "
#. module: base
#: model:res.country,name:base.si
@ -2647,7 +2653,7 @@ msgstr "Slovēnija"
#. module: base
#: help:res.currency,name:0
msgid "Currency Code (ISO 4217)"
msgstr ""
msgstr "Valūtas kods (ISO 4217)"
#. module: base
#: model:ir.actions.act_window,name:base.res_log_act_window
@ -2769,7 +2775,7 @@ msgstr ""
#: field:ir.module.module,application:0
#: field:res.groups,category_id:0
msgid "Application"
msgstr ""
msgstr "Programma"
#. module: base
#: selection:publisher_warranty.contract,state:0
@ -2963,7 +2969,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
msgid "Wiki: Quality Manual"
msgstr ""
msgstr "Wiki: Kvalitātes rokasgrāmata"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@ -2991,7 +2997,7 @@ msgstr "HR Sektors"
#. module: base
#: model:ir.ui.menu,name:base.menu_dashboard_admin
msgid "Administration Dashboard"
msgstr ""
msgstr "Administrēšanas instrumentu panelis"
#. module: base
#: code:addons/orm.py:4408
@ -3076,7 +3082,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_contract
msgid "Employee Contracts"
msgstr ""
msgstr "Darbinieku līgumi"
#. module: base
#: model:ir.module.module,description:base.module_wiki_faq
@ -3140,7 +3146,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_survey
msgid "Survey"
msgstr ""
msgstr "Aptauja"
#. module: base
#: view:base.language.import:0
@ -3432,7 +3438,7 @@ msgstr ""
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
#: view:res.company:0
msgid "Accounting"
msgstr ""
msgstr "Grāmatvedība"
#. module: base
#: model:ir.module.module,description:base.module_account_payment
@ -15131,7 +15137,7 @@ msgstr "Partneri: "
#. module: base
#: field:res.partner.bank,name:0
msgid "Bank Account"
msgstr ""
msgstr "Bankas Konts"
#. module: base
#: model:res.country,name:base.kp
@ -15147,7 +15153,7 @@ msgstr "Izveidot Objektu"
#: view:ir.filters:0
#: field:res.log,context:0
msgid "Context"
msgstr ""
msgstr "Konteksts"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_mrp
@ -15162,12 +15168,12 @@ msgstr ""
#. module: base
#: model:res.partner.category,name:base.res_partner_category_1
msgid "Prospect"
msgstr ""
msgstr "Nākotnes Plāni"
#. module: base
#: model:ir.module.module,shortdesc:base.module_stock_invoice_directly
msgid "Invoice Picking Directly"
msgstr ""
msgstr "Rēķina Izrakstīšana, Piegādājot preci"
#. module: base
#: selection:base.language.install,lang:0

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:46+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -71,6 +71,18 @@ msgid ""
" * Graph of My Remaining Hours by Project\n"
" "
msgstr ""
"\n"
"Projectmanagement module voor het beheren van muti-level projecten, taken, "
"gewerkte tijd op taken, etc.\n"
"\n"
"Het is mogelijk om planningen en taakopdrachten te genereren\n"
"\n"
"Dashboard voor projectmedewerkers, welke bevat:\n"
"* Lijst van open taken\n"
"* Lijst van gedeligeerde taken\n"
"* Grafiek van mijn projecten, geplande en totale uren\n"
"* Grafiek van mijn resterende uren per project\n"
" "
#. module: base
#: field:base.language.import,code:0
@ -121,6 +133,7 @@ msgstr "Toon menu tips"
msgid ""
"Model name on which the method to be called is located, e.g. 'res.partner'."
msgstr ""
"Modelnaam van the methode welke wordt aangeroepen, bijv. 'res.partner'."
#. module: base
#: view:ir.module.module:0
@ -146,6 +159,8 @@ msgid ""
"\n"
"This module allows you to create retro planning for managing your events.\n"
msgstr ""
"\n"
"Organisatie en beheer van evenementen.\n"
#. module: base
#: help:ir.model.fields,domain:0
@ -220,7 +235,7 @@ msgstr "ir.ui.view.custom"
#: code:addons/base/ir/ir_model.py:313
#, python-format
msgid "Renaming sparse field \"%s\" is not allowed"
msgstr ""
msgstr "Hiernoenen sparse field \"%s\" is niet toegestaan"
#. module: base
#: model:res.country,name:base.sz
@ -362,6 +377,10 @@ msgid ""
" complex data from other software\n"
" "
msgstr ""
"\n"
" Deze module stelt een import klasse beschikbaar welke gebruikt\n"
" kan worden om complex data van andere software te importeren\n"
" "
#. module: base
#: field:ir.actions.wizard,wiz_name:0
@ -820,6 +839,10 @@ msgid ""
"Launch Manually Once: after hacing been launched manually, it sets "
"automatically to Done."
msgstr ""
"Handmatig: Start handmatig.\n"
"Automatisch: Start wanneer het systeem is geconfigureerd.\n"
"Start eenmalig handmatig: Nadat handmatig gestart, wordt deze automatisch op "
"klaar gezet."
#. module: base
#: selection:base.language.install,lang:0
@ -898,6 +921,8 @@ msgid ""
"The module adds google contact in partner address and add google calendar "
"events details in Meeting"
msgstr ""
"Deze module voegt Google contact[ersonen in relatie adressen en voegt Google "
"agenda items details in OpenERP agenda."
#. module: base
#: view:res.users:0
@ -1177,6 +1202,20 @@ msgid ""
"At the end of the month, the planning manager can also check if the encoded "
"timesheets are respecting the planned time on each analytic account.\n"
msgstr ""
"Met deze module kunt u, uw planningen beheren.\n"
"========================================\n"
"\n"
"Deze module is gebaseerd op kostenplaatsen en is geheel geïntegreerd met:\n"
"* Urenstaten\n"
"* Vakantiedagen\n"
"* projectmanagement\n"
"\n"
"Op deze wijze kan iedere afdelingsmanager zien of iemand van zijn team nog "
"niet verwerkte uren heeft voor een bepaalde planning (rekening houdende met "
"geaccordeerde afwezigheid) of nog uren moet indienen.\n"
"\n"
"Aan het einde van de maand kan de planningsmanager de ingediende uren en de "
"geplande uren controleren op de kostenplaats.\n"
#. module: base
#: selection:ir.property,type:0
@ -1373,6 +1412,11 @@ msgid ""
"use the accounting application of OpenERP, journals and accounts will be "
"created automatically based on these data."
msgstr ""
"Stel uw bankrekeningnummers van uw bedrijf in en selecteer degene welke op "
"uw rapportvoet moeten worden afgedrukt. U kunt de bankrekeningnummers "
"sorteren in de lijst. Indien u gebruik maakt van de boekhouding in OpenERP, "
"dan worden dagboeken en rekeningen automatisch aangemaakt op basis van deze "
"gegevens."
#. module: base
#: view:ir.module.module:0
@ -1392,6 +1436,14 @@ msgid ""
" * Commitment Date\n"
" * Effective Date\n"
msgstr ""
"\n"
"deze module voegt extra informatie toe aan een verkooporder.\n"
"===================================================\n"
"\n"
"U kunt de navolgende extra data toevoegen aan een verkooporder:\n"
"* Aanvraagdatum\n"
"* Bevestigde datum\n"
"* Effectieve datum\n"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_sequence
@ -1433,6 +1485,25 @@ msgid ""
"database,\n"
" but in the servers rootpad like /server/bin/filestore.\n"
msgstr ""
"\n"
"deze module voegt een compleet Document Management Systeem (DMS) toe.\n"
"================================================================\n"
"* Gebruikerstoegang\n"
"* Document indexeren. Opmerking: .pptx en docx bestanden worden niet "
"ondersteund\n"
"* Dashboard voor documenten, met:\n"
" * Nieuwe bestanden (lijst)\n"
" * Bestanden per resource type (grafiek)\n"
" * Bestanden per relatie (grafiek)\n"
" * Bestandgrootte per maand (grafiek)\n"
"\n"
"Opmerking:\n"
"* Wanneer u deze module installeert in een bedrijf wat al gebruik maakt van "
"OpenERP, zullen bestaande PDF bestanden, welke zijn opgeslagen in de "
"database verloren gaan.\n"
"* Na installatie van deze module worden PDF bestanden niet langer opgeslagen "
"in de database, maar in een map van de server, zoals bijv.: "
"server/bin/filestore.\n"
#. module: base
#: view:res.lang:0
@ -1597,6 +1668,9 @@ msgid ""
" - You can define new types of events in\n"
" Association / Configuration / Types of Events\n"
msgstr ""
"\n"
"Organisatie en beheer van evenementen.\n"
"=================================\n"
#. module: base
#: model:ir.ui.menu,name:base.menu_tools
@ -1715,6 +1789,10 @@ msgid ""
" Apply Different Category for the product.\n"
" "
msgstr ""
"\n"
" Met deze module kunt u lunches beheren.\n"
"==================================\n"
" "
#. module: base
#: model:res.country,name:base.kg
@ -2078,7 +2156,7 @@ msgstr "Boomstructuur"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_multicurrency
msgid "Multi-Currency in Analytic"
msgstr ""
msgstr "Meerdere valuta in kostenplaatsen"
#. module: base
#: view:base.language.export:0
@ -2197,6 +2275,10 @@ msgid ""
"re-invoice your customer's expenses if your work by project.\n"
" "
msgstr ""
"\n"
"Beheer van personeel declaraties.\n"
"============================\n"
" "
#. module: base
#: field:ir.values,action_id:0
@ -4920,8 +5002,9 @@ msgid ""
"You can not create this document (%s) ! Be sure your user belongs to one of "
"these groups: %s."
msgstr ""
"U kunt dit document (%s) niet maken ! Controleer of uw gebruiker behoort tot "
"één van deze groepen: %s."
"U kunt dit document (%s) niet maken ! Controleer of u voldoende rechten "
"heeft. Om dit document te kunnen maken dient u rechten te hebben tot één van "
"deze groepen: %s."
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_chat
@ -6058,7 +6141,7 @@ msgstr "Officiële vertaling laden"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_cancel
msgid "Cancel Journal Entries"
msgstr "Annuleer journaalpsoten"
msgstr "Annuleer journaalposten"
#. module: base
#: view:ir.actions.server:0
@ -7763,6 +7846,9 @@ msgid ""
" Module for the Check writing and check printing \n"
" "
msgstr ""
"\n"
" Module voor het aanmaken en afdrukken van cheques \n"
" "
#. module: base
#: model:res.partner.bank.type,name:base.bank_normal
@ -8094,6 +8180,8 @@ msgid ""
"\n"
" * Share meeting with other calendar clients like sunbird\n"
msgstr ""
"\n"
"Deel uw CRM afspraken door gebruik te maken van CalDAV\n"
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_iban
@ -8372,7 +8460,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_account
msgid "eInvoicing"
msgstr "eFactureren"
msgstr "Boekhouding"
#. module: base
#: model:ir.module.module,description:base.module_association
@ -10687,8 +10775,9 @@ msgid ""
"You can not read this document (%s) ! Be sure your user belongs to one of "
"these groups: %s."
msgstr ""
"U kunt dit document (%s) niet lezen ! Controleer dat uw gebruiker behoort "
"tot één van deze groepen: %s."
"U kunt dit document (%s) niet lezen! Controleer of u voldoende rechten "
"heeft. Om dit document te kunnen lezen dient u rechten te hebben tot één van "
"deze groepen: %s."
#. module: base
#: view:res.bank:0
@ -11637,7 +11726,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr
msgid "Employee Directory"
msgstr "Werknemers map"
msgstr "Personeelsbeheer"
#. module: base
#: view:ir.cron:0
@ -13962,7 +14051,7 @@ msgstr "De doel activiteit"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_check_writing
msgid "Check writing"
msgstr ""
msgstr "Cheques maken"
#. module: base
#: model:ir.module.module,description:base.module_sale_layout
@ -14675,8 +14764,9 @@ msgid ""
"You can not delete this document (%s) ! Be sure your user belongs to one of "
"these groups: %s."
msgstr ""
"U kunt dit document (%s) niet verwijderen ! Controleer dat uw gebruiker "
"behoort tot één van deze groepen: %s."
"U kunt dit document (%s) niet verwijderen! Controleer of u voldoende rechten "
"heeft. Om dit document te kunnen verwijderen dient u rechten te hebben tot "
"één van deze groepen: %s."
#. module: base
#: model:ir.module.module,description:base.module_web_livechat

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:29+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"PO-Revision-Date: 2012-07-26 16:30+0000\n"
"Last-Translator: Rinat Karimov <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:50+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-27 05:22+0000\n"
"X-Generator: Launchpad (build 15694)\n"
#. module: base
#: model:res.country,name:base.sh
@ -2732,7 +2732,7 @@ msgstr "Очистить ID"
#. module: base
#: view:res.groups:0
msgid "Inherited"
msgstr ""
msgstr "Унаследованный"
#. module: base
#: field:ir.model.fields,serialization_field_id:0
@ -6614,7 +6614,7 @@ msgstr "Совет"
#. module: base
#: view:res.company:0
msgid "Header/Footer of Reports"
msgstr ""
msgstr "Заголовок/подвал отчетов"
#. module: base
#: code:addons/base/res/res_users.py:746

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:51+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -893,7 +893,7 @@ msgstr "Albanien / Shqip"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_opportunity
msgid "Opportunities"
msgstr "Opportunities"
msgstr "Affärsmöjligheter"
#. module: base
#: model:ir.model,name:base.model_base_language_export
@ -923,6 +923,8 @@ msgid ""
"The module adds google contact in partner address and add google calendar "
"events details in Meeting"
msgstr ""
"Modulen lägger till google-kontakter i företagsadresser och lägger till "
"googlekalenderhändelser i möteskalendern"
#. module: base
#: view:res.users:0
@ -1197,6 +1199,21 @@ msgid ""
"At the end of the month, the planning manager can also check if the encoded "
"timesheets are respecting the planned time on each analytic account.\n"
msgstr ""
"Håll koll på din planering\n"
"Denna modul hjälper dig att hantera dina projektplaner.\n"
"============================================\n"
"\n"
"Den här modulen är baserad på objektbokföringen och är helt integrerad med\n"
"* Tidrapporteringen\n"
"* Semesterplaneringen\n"
"* Projektledningen\n"
"\n"
"Varje avdelningschef har full kontroll över all allokerad tid för all "
"personer inom ansvarsområdet, inklusive godkänd ledighet eller om det "
"fortfarande finns lediga resurser för aktiviteter.\n"
"\n"
"Vid månadsslut kan planeringen jämföras med inrapporterad tid och "
"planeringen gjord för varje objektkonto.\n"
#. module: base
#: selection:ir.property,type:0
@ -1613,8 +1630,8 @@ msgid ""
"Access all the fields related to the current object using expressions, i.e. "
"object.partner_id.name "
msgstr ""
"represenrerar ett blanksteg. Skriver in ett blanksteg i motsvarande position "
"i översättningen "
"Tillgång till alla fält relaterade till aktuellt objekt via uttryck, "
"exempelvis object.partner_id.name "
#. module: base
#: model:ir.module.module,description:base.module_event
@ -1974,7 +1991,7 @@ msgstr "7. %H:%M:%S ==> 18:25:20"
#: view:res.partner.category:0
#: field:res.partner.category,partner_ids:0
msgid "Partners"
msgstr "Partners"
msgstr "Företag"
#. module: base
#: field:res.partner.category,parent_left:0
@ -2292,6 +2309,21 @@ msgid ""
"re-invoice your customer's expenses if your work by project.\n"
" "
msgstr ""
"\n"
"Denna moduls uppgift är att hantera anställdas utlägg\n"
"==========================================\n"
"\n"
"Hela arbetsflödet genomförs:\n"
"* Preliminära kostnader\n"
"* Bekräftelse av tidrapporten genom den anställde\n"
"* Validering av sin chef\n"
"* Validering av bokförare och faktureringen\n"
"* Betalning av fakturan till den anställde\n"
"\n"
"Denna modul använder också objektredovisning och är kompatibel med\n"
"tidrapport-modulen så att du kommer att automatiskt kunna\n"
"återfaktura kundens kostnader om du använder projektmodulen.\n"
" "
#. module: base
#: field:ir.values,action_id:0
@ -2318,7 +2350,7 @@ msgstr "aktiv"
#, python-format
msgid ""
"Couldn't generate the next id because some partners have an alphabetic id !"
msgstr "Kan inte skapa nästa id eftersom partnern har ett alfanumeriskt id."
msgstr "Kan inte skapa nästa id eftersom företaget har ett alfanumeriskt id."
#. module: base
#: view:ir.attachment:0
@ -2929,6 +2961,10 @@ msgid ""
"==================================================\n"
" "
msgstr ""
"\n"
"Denna modul ger en PAD i alla projekt-kanbanvyer\n"
"=======================================\n"
" "
#. module: base
#: model:ir.actions.act_window,help:base.action_country
@ -2937,9 +2973,9 @@ msgid ""
"partner records. You can create or delete countries to make sure the ones "
"you are working on will be maintained."
msgstr ""
"Visa och hantera listan av alla länder som kan bli tilldelade dina partners "
"uppgifter. Du kan skapa eller ta bort länder så att du är säker på att de "
"som du jobbar på kommer att underhållas."
"Visa och hantera listan av alla länder som kan bli tilldelade dina "
"företagsuppgifter. Du kan skapa eller ta bort länder så att du är säker på "
"att de som du jobbar på kommer att underhållas."
#. module: base
#: model:res.partner.category,name:base.res_partner_category_7
@ -2975,7 +3011,7 @@ msgstr "Bangladesh"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_retro_planning
msgid "Project Retro-planning"
msgstr "Projekt retro-plannering"
msgstr "Projekt-retroplannering"
#. module: base
#: model:ir.module.module,shortdesc:base.module_stock_planning
@ -3208,7 +3244,7 @@ msgstr "Kalender"
#. module: base
#: field:res.partner.address,partner_id:0
msgid "Partner Name"
msgstr "Partnernamn"
msgstr "Företagsnamn"
#. module: base
#: field:workflow.activity,signal_send:0
@ -3450,7 +3486,7 @@ msgstr "Fältmappning"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_dashboard
msgid "web Dashboard"
msgstr ""
msgstr "Webbinfopanel"
#. module: base
#: model:ir.module.module,description:base.module_sale
@ -3808,9 +3844,9 @@ msgid ""
"loading a new language it becomes available as default interface language "
"for users and partners."
msgstr ""
"Den har wizarden hjälper dig med att lägga till ett nytt språk i ditt "
"OpenERP system. Efter att språket laddats in blir det tillgängligt för "
"användare och partners."
"Den har guiden hjälper dig med att lägga till ett nytt språk i ditt OpenERP-"
"system. Efter att språket laddats in blir det tillgängligt för användare och "
"företag."
#. module: base
#: view:ir.model:0
@ -3823,7 +3859,7 @@ msgid ""
"Value Added Tax number. Check the box if the partner is subjected to the "
"VAT. Used by the VAT legal statement."
msgstr ""
"Momsnummer. Markera denna om partnern skall ha moms. Används av "
"Momsnummer. Markera denna om företaget skall debiteras moms. Används av "
"momsrapporten."
#. module: base
@ -4130,7 +4166,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_issue_sheet
msgid "Timesheet on Issues"
msgstr ""
msgstr "Tidrapporter på ärenden"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_ltd
@ -4231,7 +4267,7 @@ msgstr "Åtgärdsbeskriivning"
#. module: base
#: help:res.partner,customer:0
msgid "Check this box if the partner is a customer."
msgstr "Markera denna om partnern är en kund."
msgstr "Markera denna om företaget är en kund."
#. module: base
#: help:ir.module.module,auto_install:0
@ -4310,8 +4346,8 @@ msgid ""
"If the selected language is loaded in the system, all documents related to "
"this partner will be printed in this language. If not, it will be english."
msgstr ""
"Om det valda språket has installerats i systemet skriva alla dokumnet "
"relaterade till partnern i detta språk. Annars används engelska."
"Om det valda språket has installerats i systemet används detta språk för "
"alla dokument till företaget. Annars används engelska."
#. module: base
#: report:ir.module.reference.graph:0
@ -4469,6 +4505,19 @@ msgid ""
"You can also use the geolocalization without using the GPS coordinates.\n"
" "
msgstr ""
"\n"
"Denna modul används av OpenERP SA för att omdirigera kunder till sina "
"företag, baserat på geolokalisering.\n"
"============================================================================="
"=======\n"
"\n"
"Du kan geolocalize dina affärsmöjligheter med hjälp av denna modul.\n"
"\n"
"Använd geolokalisering när du tilldelar affärsmöjligheter till företag.\n"
"Bestäm GPS-koordinater enligt företagsadress .\n"
"Det mest lämpliga företaget kan tilldelas.\n"
"Du kan också använda geolokalisering utan att använda GPS-koordinater.\n"
" "
#. module: base
#: help:ir.actions.act_window,help:0
@ -5228,6 +5277,13 @@ msgid ""
"revenue\n"
"reports, etc."
msgstr ""
"Generera dina fakturor från Utgifter, Tidrapporter ...\n"
"Modul för att skapa fakturor baserade på kostnader (personal, utgifter, "
"...).\n"
"================================================== ========\n"
"\n"
"Du kan definiera prislistor i objektkonto, göra några teoretiska intäkts-\n"
"rapporter etc."
#. module: base
#: field:ir.ui.menu,parent_id:0
@ -5394,7 +5450,7 @@ msgstr "Fält"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_long_term
msgid "Long Term Projects"
msgstr "Långsiktiga projekt"
msgstr "Långtidsprojekt"
#. module: base
#: model:res.country,name:base.ve
@ -5422,13 +5478,13 @@ msgid ""
"The internal user that is in charge of communicating with this partner if "
"any."
msgstr ""
"Den interna användare som hanterar kommunikationen med denna partner, om "
"Den interna användare som hanterar kommunikationen med detta företag, om "
"sådan finns."
#. module: base
#: field:res.partner,parent_id:0
msgid "Parent Partner"
msgstr "Överliggande partner"
msgstr "Överliggande företag"
#. module: base
#: view:ir.module.module:0
@ -5580,7 +5636,7 @@ msgstr ""
#. module: base
#: model:res.partner.category,name:base.res_partner_category_3
msgid "Starter Partner"
msgstr ""
msgstr "Startföretag"
#. module: base
#: help:ir.model.fields,relation_field:0
@ -5619,6 +5675,31 @@ msgid ""
"Budgets per Budgets.\n"
"\n"
msgstr ""
"\n"
"Denna modul gör det möjligt för bokförare att hantera objekt- och "
"tvärbudgetar.\n"
"================================================================\n"
"\n"
"När huvudbudget och budgetarna definieras (i bokföring/budgetar/),\n"
"kan projektledarna sätta planerade belopp på varje objektkonto.\n"
"\n"
"Bokförare har möjlighet att se den totala planerade beloppet för varje\n"
"budget och huvudbudget för att säkerställa att totalen inte\n"
"över-/understiger än vad han planen. Kontoplanen kan också kopplas till\n"
"till en grafisk vy.\n"
"\n"
"Tre rapporter finns tillgängliga:\n"
"1. Den första är tillgänglig från en lista med budgetutskottet. Det ger "
"spridning för dessa budgetutskottet av den analytiska konton per master "
"budgetutskottet.\n"
"\n"
"2. Den andra är en sammanfattning av den tidigare, ger endast "
"spridningskoden, för de valda budgetutskottet av den analytiska konton.\n"
"\n"
"3. Den sista är tillgänglig från den analytiska kontoplanen. Det ger att "
"sprida, för de valda analytiska konton, de master budgetutskottet per "
"budgetutskottet.\n"
"\n"
#. module: base
#: help:res.lang,iso_code:0
@ -6237,6 +6318,25 @@ msgid ""
"an other object.\n"
" "
msgstr ""
"\n"
"Den här modulen låter dig hantera dina kontakter\n"
"=======================================\n"
"\n"
"Det låter dig definiera:\n"
"* Kontakter utan samband med ett företag,\n"
"* Kontaktuppgifter arbetar på flera adresser (eventuellt för olika "
"företag),\n"
"* Kontakter med eventuellt olika funktioner för varje jobbadress\n"
"\n"
"Det ger också nya menyalternativ i\n"
"Inköp / adressbok / kontakter\n"
"Försäljning / adressbok / kontakter\n"
"\n"
"Uppmärksamma att denna modul omvandlar de befintliga adresserna till "
"\"adresser + kontakter\". Det innebär att vissa områden adresserna kommer "
"att saknas (som kontaktens namn), eftersom dessa är tänkta att definieras i "
"ett annat objekt.\n"
" "
#. module: base
#: model:ir.actions.act_window,name:base.act_res_partner_event
@ -6628,7 +6728,7 @@ msgstr "Botswana"
#: model:ir.ui.menu,name:base.menu_partner_title_partner
#: view:res.partner.title:0
msgid "Partner Titles"
msgstr "Partnertitlar"
msgstr "Företagstitlar"
#. module: base
#: help:ir.actions.act_window,auto_refresh:0
@ -6638,7 +6738,7 @@ msgstr "Lägg till autouppdatering till vyn."
#. module: base
#: help:res.partner,employee:0
msgid "Check this box if the partner is an Employee."
msgstr "Markera denna om partnern är en anställd."
msgstr "Markera denna om företaget också är en anställd."
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_profiling
@ -7035,7 +7135,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_project_long_term
msgid "Long Term Planning"
msgstr "Långsiktig planering"
msgstr "Långtidsplanering"
#. module: base
#: field:ir.actions.server,message:0
@ -7424,7 +7524,7 @@ msgstr ""
#. module: base
#: field:res.partner,title:0
msgid "Partner Firm"
msgstr ""
msgstr "Företagsform"
#. module: base
#: model:ir.actions.act_window,name:base.action_model_fields
@ -7616,6 +7716,13 @@ msgid ""
"all the tasks will change accordingly.\n"
" "
msgstr ""
"\n"
"Ändringsdatum i enlighet med projektets slutdatum.\n"
"=========================================\n"
"\n"
"Om slutdatum för projektet ändras så korrigeras tidsfrister och startdatum "
"för alla aktiviteter i enlighet med detta.\n"
" "
#. module: base
#: help:res.users,view:0
@ -7883,6 +7990,24 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Denna modul kan automatiskt skapa projektaktiviteter baserat på inkommande e-"
"post\n"
"===================================================================\n"
"\n"
"Tillåter dig att skapa uppgifter baserat på nya e-postmeddelanden som kommer "
"till en viss brevlåda,\n"
"likhet med vad CRM programmet har för kundämnen / affärsmöjligheter.\n"
"Det finns två vanliga alternativ för att konfigurera brevlådeintegrationen:\n"
"\n"
"* Installera `` fetchmail `` modul och konfigurera en ny brevlåda, välj "
"sedan\n"
"`` Projektaktiviteter `` som mål för inkommande e-post.\n"
"* Ställ in det manuellt på e-postservern baserat på \"post-gateway\" script\n"
"ges i `` mail `` modul - och anslut den till `project.task` modell.\n"
"\n"
"\n"
" "
#. module: base
#: model:ir.module.module,description:base.module_membership
@ -9441,7 +9566,7 @@ msgstr "Användargränssnitt"
#: field:res.partner,child_ids:0
#: field:res.request,ref_partner_id:0
msgid "Partner Ref."
msgstr "Partnerref."
msgstr "Företagsreferense"
#. module: base
#: field:ir.attachment,create_date:0
@ -9901,6 +10026,35 @@ msgid ""
"module named account_voucher.\n"
" "
msgstr ""
"\n"
"Redovisning och ekonomisk förvaltning.\n"
"===============================\n"
"\n"
"Ekonomi och redovisning modul som omfattar:\n"
"----------------------------------------------------------------\n"
"allmänna Redovisningen\n"
"Kostnad / Analytisk redovisning\n"
"Tredjepart redovisning\n"
"skattehantering\n"
"budgetar\n"
"Kund-och leverantörsfakturor\n"
"kontoutdrag\n"
"Avstämning av företag\n"
"\n"
"Skapar en instrumentpanel för revisorer som innehåller:\n"
"-----------------------------------------------------------------------------"
"\n"
"* Lista över kundfakturor att godkänna\n"
"* Företagsanalys\n"
"* Graf över kassaflödet\n"
"* Graf över finanserna\n"
"\n"
"De processer som upprätthåller huvudboken sker genom de definierade "
"finansiella journal (bokföringsregler eller\n"
"gruppering upprätthålls genom journalen) för ett visst budgetår och för "
"beredning av bokföringsorder finns \n"
"modulen account_voucher.\n"
" "
#. module: base
#: help:ir.actions.act_window,view_type:0
@ -10768,8 +10922,8 @@ 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 ""
"Hantera titlarna på systemets partner, som avspeglar deras legala status: "
"AB, kommun, stiftelse etc."
"Hantera systemets företagsformer, som avspeglar deras legala status: AB, "
"kommun, stiftelse etc."
#. module: base
#: view:base.language.export:0
@ -11258,7 +11412,7 @@ msgstr "Åtgärd"
#. module: base
#: model:ir.module.module,shortdesc:base.module_event_project
msgid "Retro-Planning on Events"
msgstr ""
msgstr "Retroplannering av evenemang"
#. module: base
#: code:addons/custom.py:555
@ -11480,6 +11634,13 @@ msgid ""
"handle an issue.\n"
" "
msgstr ""
"\n"
"Denna modul tillför tidrapporter på ärenden/bugghantering i projekt\n"
"======================================================\n"
"\n"
"Arbetsloggar kan administreras för att ge underlag till de timmar ägnade åt "
"ett visst ärende.\n"
" "
#. module: base
#: model:ir.actions.act_window,name:base.ir_sequence_form
@ -11506,7 +11667,7 @@ msgstr ""
#. module: base
#: model:res.partner.category,name:base.res_partner_category_2
msgid "OpenERP Partners"
msgstr "OpenERP Partners"
msgstr "OpenERP-partner"
#. module: base
#: code:addons/base/module/module.py:293
@ -12257,7 +12418,7 @@ msgstr "Guldpartner"
#: selection:res.partner.title,domain:0
#: model:res.request.link,name:base.req_link_partner
msgid "Partner"
msgstr "Partner"
msgstr "Företag"
#. module: base
#: field:ir.model.fields,complete_name:0
@ -12632,7 +12793,7 @@ msgstr "Villkor"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_other_form
msgid "Other Partners"
msgstr "Övriga partners"
msgstr "Övriga företag"
#. module: base
#: model:ir.actions.act_window,name:base.action_currency_form
@ -12752,7 +12913,7 @@ msgstr "Estland"
#: model:ir.module.module,shortdesc:base.module_board
#: model:ir.ui.menu,name:base.menu_dashboard
msgid "Dashboards"
msgstr "Startsidor"
msgstr "Infopaneler"
#. module: base
#: model:ir.module.module,shortdesc:base.module_procurement
@ -12964,7 +13125,7 @@ msgstr ""
#. module: base
#: view:res.partner.category:0
msgid "Partner Category"
msgstr "Partnerkategori"
msgstr "Företagskategori"
#. module: base
#: view:ir.actions.server:0
@ -13804,6 +13965,25 @@ msgid ""
"state are scheduled with taking the phase's start date\n"
" "
msgstr ""
"\n"
"Longtidsplanerings-modul som spårar planering, schemaläggning och "
"resursfördelning.\n"
"====================================================================\n"
"\n"
"egenskaper\n"
"--------\n"
"* Hantera stora projekt.\n"
"* Definiera olika faser av projekt.\n"
"* Beräkna Fasschemaläggning: Beräkna startdatum och slutdatum för de faser "
"som är i preliminär, öppen och i vilande tillstånd för givna projekt.\n"
" Om ingen projekt anges så alla i anspråktas utkastet, öppen och "
"pågående faserna.\n"
"* Beräkna schemaläggning: Det här fungerar samma som schemaläggaren knappen "
"på project.phase. Det tar projektet som argument och beräknar alla öppna, "
"preliminära och pågående aktiviteter.\n"
"* Schemalägg aktivieteter: Alla preliminära, vilande och öppna planeras med "
"fasens startdatum\n"
" "
#. module: base
#: model:ir.actions.act_window,name:base.action_workflow_activity_form
@ -14179,7 +14359,7 @@ msgstr "Källa"
#: help:res.partner.address,partner_id:0
msgid "Keep empty for a private address, not related to partner."
msgstr ""
"Lämna blank om det är en privat adress som inte ska kopplas till en partner."
"Lämna blank om det är en privatadress som inte ska kopplas till ett företag."
#. module: base
#: model:res.country,name:base.vu
@ -14290,8 +14470,8 @@ msgid ""
"Check this box if the partner is a supplier. If it's not checked, purchase "
"people will not see it when encoding a purchase order."
msgstr ""
"Markera den här rutan om partnern är en leverantör. Om den inte är markerar "
"så kommer partnern inte visas när man väljer leverantör på en inköpsorder."
"Markera den här rutan om företaget är en leverantör. Om den inte är markerar "
"så kommer företaget inte visas när man väljer leverantör på en inköpsorder."
#. module: base
#: field:ir.actions.server,trigger_obj_id:0
@ -14463,7 +14643,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_lead
msgid "Leads & Opportunities"
msgstr "Leads & Opportunities"
msgstr "Kundämnen och affärsmöjligheter"
#. module: base
#: selection:base.language.install,lang:0
@ -14788,6 +14968,18 @@ msgid ""
"and decide on their status as they evolve.\n"
" "
msgstr ""
"\n"
"Denna modul tillför ärendehantering och buggadministration till Projekt.\n"
"=========================================================\n"
"\n"
"OpenERP tillåter dig hantera ärenden och problem som kan uppstå i ett "
"projekt\n"
"såsom buggar i ett system, klagomål eller materialproblem, En listvy ger en "
"snabb \n"
"överblick över ärendestocken, tilldela enskilda ärenden till handläggare och "
"ge \n"
"dem status i den takt de utvecklas.\n"
" "
#. module: base
#: field:res.groups,full_name:0
@ -14957,6 +15149,10 @@ msgid ""
"categories have a hierarchy structure: a partner belonging to a category "
"also belong to his parent category."
msgstr ""
"Hantera företagskategorier för att bättre klassificera dem för spårning och "
"analyssyften. Ett företag kan tillhöra flera kategorier och kategorier har "
"en hierarkisk struktur: en företag som tillhör en kategori hör också till "
"överordnade kategorin."
#. module: base
#: model:res.country,name:base.az
@ -15061,6 +15257,10 @@ msgid ""
"uncheck the 'Suppliers' filter button in order to search in all your "
"partners, including customers and prospects."
msgstr ""
"Du kan komma åt all information om dina leverantörer från "
"leverantörsformuläret: redovisningsdata, historik av e-post, möten, inköp "
"etc. Du kan avmarkera leverantörsfilterknappen för att söka i alla dina "
"företag, däribland kunder och kundämnen."
#. module: base
#: model:res.country,name:base.rw
@ -15218,7 +15418,7 @@ msgstr "Land"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_messages
msgid "In-Project Messaging System"
msgstr ""
msgstr "Projektinternt meddelandesystem"
#. module: base
#: model:res.country,name:base.pn
@ -15493,7 +15693,7 @@ msgstr "Mobilnr"
#: model:ir.ui.menu,name:base.menu_partner_category_form
#: view:res.partner.category:0
msgid "Partner Categories"
msgstr "Partnerkategorier"
msgstr "Företagskategorier"
#. module: base
#: view:base.module.upgrade:0
@ -15550,7 +15750,7 @@ msgstr "Turks and Caicos Islands"
#. module: base
#: model:ir.module.module,shortdesc:base.module_fetchmail_project_issue
msgid "eMail Gateway for Project Issues"
msgstr "E-postbrygga för projektproblem"
msgstr "E-postbrygga för projektärenden"
#. module: base
#: field:res.partner.bank,partner_id:0
@ -15603,6 +15803,8 @@ msgid ""
"Manage relations with prospects and customers using leads, opportunities, "
"requests or issues."
msgstr ""
"Administrera relationen mellan prospektiva kunder och kunder med kundämnen, "
"affärsmöjligheter, önskemål eller ärenden."
#. module: base
#: selection:res.partner.address,type:0
@ -15634,7 +15836,7 @@ msgstr "Arbetsflödeinstanser"
#: code:addons/base/res/res_partner.py:284
#, python-format
msgid "Partners: "
msgstr "Partners "
msgstr "Företag: "
#. module: base
#: field:res.partner.bank,name:0

View File

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

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2009-11-30 07:48+0000\n"
"Last-Translator: <>\n"
"PO-Revision-Date: 2012-07-10 17:36+0000\n"
"Last-Translator: Felix Malmenbeck <felixm@kth.se>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:51+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -24,7 +24,7 @@ msgstr ""
#. module: base
#: view:ir.actions.report.xml:0
msgid "Other Configuration"
msgstr ""
msgstr "latlh Qur"
#. module: base
#: selection:ir.property,type: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: 2012-06-19 04:51+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh

View File

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

View File

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

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:53+0000\n"
"X-Generator: Launchpad (build 15435)\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
#. module: base
#: model:res.country,name:base.sh
@ -170,7 +170,7 @@ msgstr "过滤条件这个字段是可选输入的,用于在输入关系型字
#. module: base
#: field:res.partner,ref:0
msgid "Reference"
msgstr "关联单号"
msgstr "号"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
@ -9137,6 +9137,7 @@ msgid ""
"use the same timezone that is otherwise used to pick and render date and "
"time values: your computer's timezone."
msgstr ""
"用户的时区为打印报表配置正确的日期时间输出格式。设置这个值是很重要的。你应该根据你的计算机时区来选取相同的时区,因为它也影响系统中日期的选取和呈现。"
#. module: base
#: help:res.country,name:0
@ -13964,7 +13965,7 @@ msgid ""
"The default language used in the graphical user interface, when translations "
"are available. To add a new language, you can use the 'Load an Official "
"Translation' wizard available from the 'Administration' menu."
msgstr ""
msgstr "选可用的翻译作为图形界面的默认语言。你可以通过设置菜单的载入一个官方翻译来添加一个新翻译"
#. module: base
#: model:ir.module.module,description:base.module_l10n_es
@ -14978,7 +14979,7 @@ msgstr "您不能删除字段 '%s' !"
#. module: base
#: view:res.users:0
msgid "Allowed Companies"
msgstr ""
msgstr "允许的公司"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_de
@ -15864,7 +15865,7 @@ msgstr "%r 错误的浏览记录标识符,其应该为一个整数。"
#: field:res.partner.address,function:0
#: selection:workflow.activity,kind:0
msgid "Function"
msgstr "能"
msgstr "能"
#. module: base
#: view:res.widget:0

View File

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

View File

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

View File

@ -20,6 +20,8 @@
##############################################################################
import ir_model
import ir_model_constraint
import ir_model_relation
import ir_sequence
import ir_needaction
import ir_ui_menu

View File

@ -9,21 +9,19 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Action Bindings" version="7.0">
<sheet>
<group>
<group string="Action Binding">
<group>
<field name="name"/>
<field name="model_id" on_change="onchange_object_id(model_id)"/>
<field name="model"/>
<field name="res_id"/>
<field name="key2"/>
</group>
<group string="Action">
<group>
<field name="action_id" on_change="onchange_action_id(action_id)"/>
<field name="value_unpickle" colspan="4" string="Action Reference"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
@ -34,24 +32,19 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="User-defined Defaults" version="7.0">
<sheet>
<label for="name" class="oe_form_readonly_hidden"/>
<h1><field name="name"/></h1>
<group>
<group string="Model">
<field name="model_id" on_change="onchange_object_id(model_id)"/>
<group>
<field name="name"/>
<field name="model"/>
<field name="key2" string="Condition"/>
</group>
<group string="Default Value">
<field name="model_id" on_change="onchange_object_id(model_id)"/>
<field name="value_unpickle" nolabel="1"/>
</group>
<group string="Default Value Scope">
<group>
<field name="key2" string="Condition"/>
<field name="user_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
@ -75,10 +68,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Client Actions">
<field name="name"/>
<field name="model"/>
<field name="key2"/>
<newline/>
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('model','ilike',self), ('key2','ilike',self)]"
string="Client Action"/>
<group expand="0" string="Group By...">
<filter string="Model" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'key2'}"/>
@ -208,9 +200,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Sequences">
<field name="name"/>
<field name="name" string="Sequence"/>
<field name="code"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
@ -263,8 +254,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Sequences Type">
<field name="name"/>
<field name="code"/>
<field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Sequence Type"/>
</search>
</field>
</record>
@ -289,13 +279,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Action" version="7.0">
<sheet>
<group>
<field name="name"/>
<field name="type"/>
<field name="usage"/>
</group>
</sheet>
</form>
</field>
</record>
@ -316,8 +304,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Action">
<field name="name"/>
<field name="type"/>
<field name="name" filter_domain="['|', ('name','ilike',self), ('type','ilike',self)]" string="Action"/>
</search>
</field>
</record>
@ -330,7 +317,7 @@
<field name="view_id" ref="action_view_tree"/>
<field name="search_view_id" ref="action_view_search"/>
</record>
<menuitem id="next_id_6" name="Actions" parent="base.next_id_4" sequence="1"/>
<menuitem id="next_id_6" name="Actions" parent="base.menu_custom" sequence="2"/>
<menuitem action="ir_sequence_actions" id="menu_ir_sequence_actions" parent="next_id_6"/>
<menuitem action="act_values_form_action" id="menu_values_form_action" parent="next_id_6"/>
<menuitem action="act_values_form_defaults" id="menu_values_form_defaults" parent="next_id_6"/>
@ -343,17 +330,18 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Report" version="7.0">
<sheet>
<group col="6">
<field name="name"/>
<field name="model"/>
<field name="usage"/>
<field name="report_name"/>
<field name="report_type"/>
<field name="report_file"/>
<group>
<group>
<field name="name"/>
<field name="report_name"/>
<field name="model"/>
</group>
<group>
<field name="usage"/>
<field name="report_type"/>
<field name="report_file"/>
</group>
</group>
<notebook>
<page string="Other Configuration">
<group>
@ -378,7 +366,6 @@
<field name="groups_id"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
@ -402,15 +389,10 @@
<field name="model">ir.actions.report.xml</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Report xml">
<group col="10" colspan="4">
<field name="name"/>
<field name="model"/>
<field name="type"/>
<field name="report_name"/>
<field name="report_type"/>
</group>
<newline/>
<search string="Report Xml">
<field name="name"
filter_domain="['|', '|', '|', '|', ('name','ilike',self), ('model','ilike',self), ('type','ilike',self), ('report_name','ilike',self), ('report_type','ilike',self)]"
string="Report"/>
<group expand="0" string="Group By" colspan="4">
<filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'report_type'}"/>
</group>
@ -449,14 +431,17 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Open a Window" version="7.0">
<sheet>
<group col="6">
<field name="name"/>
<field name="res_model"/>
<field name="type" readonly="1"/>
<field name="src_model"/>
<field name="usage"/>
<field name="target"/>
<group>
<group>
<field name="name"/>
<field name="res_model" string="Object"/>
<field name="src_model" string="Source Object"/>
</group>
<group>
<field name="usage"/>
<field name="type" readonly="1"/>
<field name="target"/>
</group>
</group>
<notebook>
<page string="General Settings">
@ -500,7 +485,6 @@
<field name="groups_id"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
@ -510,12 +494,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Open a Window">
<group col="10" colspan="4">
<field name="name"/>
<field name="res_model"/>
<field name="view_type"/>
</group>
<newline/>
<field name="name" filter_domain="['|', ('name','ilike',self), ('res_model','ilike',self)]" string="Action"/>
<field name="view_type"/>
<group expand="0" string="Group By" colspan="4">
<filter string="View Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'view_type'}"/>
</group>
@ -581,9 +561,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Wizards">
<field name="name"/>
<field name="type"/>
<field name="wiz_name"/>
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('type','ilike',self), ('wiz_name','ilike',self)]"
string="Wizard"/>
</search>
</field>
</record>
@ -672,6 +652,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Views">
<field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="View"/>
<filter icon="terp-stock_zoom"
string="Search"
domain="[('type', '=', 'search')]"/>
@ -681,12 +662,8 @@
<filter icon="gtk-new"
string="Form"
domain="[('type', '=','form')]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="type"/>
<field name="model"/>
<field name="inherit_id"/>
<newline/>
<field name="type"/>
<group expand="0" string="Group By...">
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
@ -761,34 +738,34 @@
<field name="arch" type="xml">
<form string="Attachments" version="7.0">
<sheet>
<group col="4">
<field name="name" />
<field name="type"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<notebook>
<page string="Attachment">
<group>
<group attrs="{'invisible':[('type','=','url')]}" string="Data">
<field name="datas" filename="datas_fname"/>
<field name="datas_fname"/>
<field name="url" widget="url" attrs="{'invisible':[('type','=','binary')]}"/>
</group>
<group string="Attached To">
<field name="res_model"/>
<field name="res_id"/>
<field name="res_name"/>
</group>
<group groups="base.group_no_one" string="Created">
<field name="create_uid"/>
<field name="create_date"/>
</group>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name"/>
</h1>
<group>
<group string="Data">
<field name="type"/>
<field name="datas" filename="datas_fname" attrs="{'invisible':[('type','=','url')]}"/>
<field name="datas_fname" invisible="1" attrs="{'invisible':[('type','=','url')]}" class="oe_inline oe_right"/>
<field name="url" widget="url" attrs="{'invisible':[('type','=','binary')]}"/>
</group>
</page>
<page string="Notes">
<field name="description"/>
</page>
</notebook>
<group string="Attached To">
<field name="res_model"/>
<field name="res_id"/>
<field name="res_name"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<group groups="base.group_no_one" string="History">
<label for="create_uid" string="Creation"/>
<div name="creation_div">
<field name="create_uid" readonly="1" class="oe_inline"/> on
<field name="create_date" readonly="1" class="oe_inline"/>
</div>
</group>
<group name="description_group" string="Description" colspan="4">
<field name="description" nolabel="1"/>
</group>
</group>
</sheet>
</form>
</field>
@ -814,32 +791,26 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Attachments">
<group colspan="4" col="10">
<filter icon="terp-stage"
string="URL"
domain="[('type','=','url')]"/>
<filter icon="terp-stock_align_left_24"
string="Binary"
domain="[('type','=','binary')]"/>
<separator orientation="vertical"/>
<filter icon="terp-go-month" string="Month"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;=',time.strftime('%%Y-%%m-01'))]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="type"/>
<field name="datas_fname"/>
<field name="create_uid">
<filter icon="terp-personal"
domain="[('create_uid','=',uid)]"
help="Filter on my documents" />
</field>
</group>
<newline/>
<field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
<field name="create_date"/>
<filter icon="terp-stage"
string="URL"
domain="[('type','=','url')]"/>
<filter icon="terp-stock_align_left_24"
string="Binary"
domain="[('type','=','binary')]"/>
<separator/>
<filter name="my_documents_filter"
string="My Document(s)"
icon="terp-personal"
domain="[('create_uid','=',uid)]"
help="Filter on my documents"/>
<field name="create_uid"/>
<field name="type"/>
<group expand="0" string="Group By...">
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'create_uid'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
<filter string="Company" icon="terp-gtk-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
</group>
</search>
@ -864,12 +835,16 @@
<field name="arch" type="xml">
<form string="Model Description" version="7.0">
<sheet>
<group col="6">
<field name="name"/>
<field name="model"/>
<field name="osv_memory"/>
<field name="state"/>
<field name="modules" colspan="4"/>
<group>
<group>
<field name="name"/>
<field name="model"/>
<field name="osv_memory"/>
</group>
<group>
<field name="state"/>
<field name="modules"/>
</group>
</group>
<notebook>
<page string="Fields">
@ -963,26 +938,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Model Description">
<field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="Model"/>
<filter icon="terp-camera_test"
string="In Memory"
domain="[('osv_memory', '=', True)]"/>
<separator orientation="vertical"/>
<separator/>
<filter icon="terp-stock_align_left_24"
string="Custom"
domain="[('state', '=', 'manual')]"/>
<separator orientation="vertical"/>
<filter icon="terp-translate"
string="Base"
domain="[('state', '=', 'base')]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="model"/>
<newline/>
</search>
</field>
</record>
@ -995,38 +961,37 @@
<field name="arch" type="xml">
<form string="Fields" version="7.0">
<sheet>
<group colspan="4" col="6">
<field name="name" />
<field name="model_id" attrs="{'readonly': [('state','!=', 'manual')]}"/>
<field name="field_description"/>
<field name="state"/>
<group>
<group>
<field name="name" string="Field Name"/>
<field name="field_description"/>
</group>
<group>
<field name="state"/>
<field name="model_id" attrs="{'readonly': [('state','!=', 'manual')]}"/>
<field name="modules"/>
</group>
</group>
<notebook colspan="4">
<page string="Properties">
<group>
<field name="ttype"/>
<field name="relation" attrs="{'required': [('ttype','in', ['many2one','one2many','many2many'])],
<group>
<group>
<field name="ttype"/>
<field name="relation" attrs="{'required': [('ttype','in', ['many2one','one2many','many2many'])],
'readonly': [('ttype','not in', ['many2one','one2many','many2many'])]}"/>
<field name="relation_field" attrs="{'required': [('ttype','=','one2many')], 'readonly': [('ttype','!=','one2many')]}"/>
<field name="selection" attrs="{'required': [('ttype','in',['selection','reference'])], 'readonly': [('ttype','not in',['selection','reference'])]}"/>
<field name="size" attrs="{'required': [('ttype','in',['char','reference'])], 'readonly': [('ttype','not in',['char','reference'])]}"/>
<field name="domain" attrs="{'readonly': [('relation','=','')]}"/>
<field name="serialization_field_id" attrs="{'readonly': [('state','=','base')]}" domain="[('ttype','=','serialized'), ('model_id', '=', model_id)]"/>
</group>
<group>
<field name="required"/>
<field name="readonly"/>
<field name="select_level"/>
<field name="translate"/>
<field name="on_delete" attrs="{'readonly': [('ttype','!=','many2one')]}"/>
<field name="modules"/>
</group>
</page>
<page string="Security">
<field name="groups"/>
</page>
</notebook>
<field name="relation_field" attrs="{'required': [('ttype','=','one2many')], 'readonly': [('ttype','!=','one2many')]}"/>
<field name="selection" attrs="{'required': [('ttype','in',['selection','reference'])], 'readonly': [('ttype','not in',['selection','reference'])]}"/>
<field name="size" attrs="{'required': [('ttype','in',['char','reference'])], 'readonly': [('ttype','not in',['char','reference'])]}"/>
<field name="domain" attrs="{'readonly': [('relation','=','')]}"/>
<field name="serialization_field_id" attrs="{'readonly': [('state','=','base')]}" domain="[('ttype','=','serialized'), ('model_id', '=', model_id)]"/>
<field name="on_delete" attrs="{'readonly': [('ttype','!=','many2one')]}"/>
</group>
<group>
<field name="required"/>
<field name="readonly"/>
<field name="select_level"/>
<field name="translate"/>
</group>
</group>
<field name="groups" invisible="1"/>
</sheet>
</form>
</field>
@ -1053,29 +1018,25 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Fields">
<field name="name" filter_domain="['|', ('name','ilike',self), ('field_description','ilike',self)]" string="Field"/>
<filter icon="terp-gnome-cpu-frequency-applet+"
string="Required"
domain="[('required', '=', True)]"/>
<separator orientation="vertical"/>
<separator/>
<filter icon="terp-dialog-close"
string="Readonly"
domain="[('readonly', '=', True)]"/>
<separator orientation="vertical"/>
<separator/>
<filter icon="terp-translate"
string="Translate"
domain="[('translate', '=', True)]"/>
<newline/>
<field name="name"/>
<field name="field_description"/>
<field name="model_id"/>
<field name="ttype"/>
<field name="required"/>
<field name="readonly"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
</group>
</search>
</field>
</record>
@ -1086,18 +1047,23 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="External Identifiers" version="7.0">
<sheet>
<group col="4">
<field name="name"/>
<group>
<group>
<field name="complete_name"/>
<field name="module"/>
<field name="name"/>
</group>
<group>
<field name="display_name"/>
<field name="model"/>
<field name="res_id"/>
</group>
<group>
<field name="noupdate"/>
<newline/>
<field name="date_update" />
<field name="date_init" />
</group>
</sheet>
</group>
</form>
</field>
</record>
@ -1108,10 +1074,9 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="External Identifiers">
<field name="module"/>
<field name="name"/>
<field name="model"/>
<field name="res_id"/>
<field name="complete_name"/>
<field name="display_name"/>
<field name="model" groups="base.group_no_one"/>
</tree>
</field>
</record>
@ -1122,16 +1087,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="External Identifiers">
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('model','ilike',self), ('module','ilike',self)]"
string="External Identifier"/>
<filter icon="terp-camera_test"
string="Updatable"
domain="[('noupdate', '=', False)]"/>
<separator orientation="vertical"/>
<field name="module"/>
<field name="name"/>
<field name="model"/>
<field name="res_id"/>
<field name="noupdate"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Module" icon="terp-folder-blue" domain="[]" context="{'group_by':'module'}"/>
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model'}"/>
@ -1140,6 +1103,65 @@
</field>
</record>
<record model="ir.ui.view" id="view_model_constraint_form">
<field name="name">ir.model.constraint.form</field>
<field name="model">ir.model.constraint</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Model Constraints">
<field name="type"/>
<field name="name"/>
<field name="module"/>
<field name="model"/>
<newline/>
<field name="date_update" />
<field name="date_init" />
</form>
</field>
</record>
<record id="view_model_constraint_list" model="ir.ui.view">
<field name="name">ir.model.constraint.list</field>
<field name="model">ir.model.constraint</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Model Constraints">
<field name="type"/>
<field name="name"/>
<field name="module"/>
<field name="model"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="view_model_relation_form">
<field name="name">ir.model.relation.form</field>
<field name="model">ir.model.relation</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="ManyToMany Relations">
<field name="name"/>
<field name="module"/>
<field name="model"/>
<newline/>
<field name="date_update" />
<field name="date_init" />
</form>
</field>
</record>
<record id="view_model_relation_list" model="ir.ui.view">
<field name="name">ir.model.relation.list</field>
<field name="model">ir.model.relation</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="ManyToMany Relations">
<field name="name"/>
<field name="module"/>
<field name="model"/>
</tree>
</field>
</record>
<record id="action_model_model" model="ir.actions.act_window">
<field name="name">Models</field>
@ -1169,6 +1191,24 @@
<menuitem action="action_model_data" id="ir_model_data_menu" parent="base.next_id_5"
groups="base.group_no_one"/>
<record id="action_model_constraint" model="ir.actions.act_window">
<field name="name">Model Constraints</field>
<field name="res_model">ir.model.constraint</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_model_constraint_list"/>
</record>
<menuitem action="action_model_constraint" id="ir_model_constraint_menu" parent="base.next_id_9"
groups="base.group_no_one"/>
<record id="action_model_relation" model="ir.actions.act_window">
<field name="name">ManyToMany Relations</field>
<field name="res_model">ir.model.relation</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_model_relation_list"/>
</record>
<menuitem action="action_model_relation" id="ir_model_relation_menu" parent="base.next_id_9"
groups="base.group_no_one"/>
<!-- Translations -->
<record id="view_translation_search" model="ir.ui.view">
@ -1180,7 +1220,6 @@
<filter icon="terp-gdu-smart-failing"
string="Untranslated"
domain="['|',('value', '=', False),('value','=','')]"/>
<separator orientation="vertical"/>
<field name="lang"/>
<field name="src"/>
<field name="value"/>
@ -1328,7 +1367,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Menu">
<field name="name" string="Menu" />
<field name="name" string="Menu"/>
<field name="parent_id"/>
</search>
</field>
@ -1408,11 +1447,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Scheduled Actions">
<field name="name"/>
<field name="user_id" widget="selection"/>
<field name="name" string="Scheduled Action"/>
<field name="user_id"/>
<field name="nextcall"/>
<field name="active"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Execution" icon="terp-go-month"
@ -1493,22 +1531,18 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Access Controls">
<group>
<filter string="Global" icon="terp-stage" domain="[('group_id','=',False)]"/>
<separator orientation="vertical"/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="model_id"/>
<field name="group_id"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_no_one">
<filter string="Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/>
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
</group>
<field name="name" string="Access Control"/>
<filter string="Global" icon="terp-stage" domain="[('group_id','=',False)]"/>
<separator/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<field name="model_id"/>
<field name="group_id"/>
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_no_one">
<filter string="Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/>
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
</group>
</search>
</field>
</record>
@ -1589,18 +1623,15 @@
<field name="model">ir.rule</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Record rules">
<group>
<filter string="Global" icon="terp-stage" domain="[('global','=',True)]"/>
<separator orientation="vertical"/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<separator orientation="vertical"/>
<field name="model_id"/>
<field name="name"/>
<field name="groups"/>
</group>
<search string="Record Rules">
<field name="name" string="Record Rule"/>
<filter string="Global" icon="terp-stage" domain="[('global','=',True)]"/>
<separator/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<field name="model_id"/>
<field name="groups"/>
</search>
</field>
</record>
@ -1629,13 +1660,16 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Server Action" version="7.0">
<sheet>
<group col="6" colspan="4">
<field name="name"/>
<field name="model_id"/>
<field name="state"/>
<field name="sequence"/>
<field name="condition"/>
<group>
<group>
<field name="name"/>
<field name="model_id"/>
<field name="state"/>
</group>
<group>
<field name="condition"/>
<field name="sequence"/>
</group>
</group>
<notebook colspan="4">
<page string="Python Code" attrs="{'invisible':[('state','!=','code')]}">
@ -1644,7 +1678,7 @@
<page string="Trigger" attrs="{'invisible':[('state','!=','trigger')]}">
<group string="Trigger Configuration" col="4">
<field name="wkf_model_id" attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_obj_id" context="{'key':''}"
<field name="trigger_obj_id" context="{'key':''}"
domain="[('model_id','=',model_id),('ttype','in',['many2one','int'])]"
attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_name" attrs="{'required':[('state','=','trigger')]}"/>
@ -1706,7 +1740,6 @@
</page>
</notebook>
<field name="type" readonly="1"/>
</sheet>
</form>
</field>
</record>
@ -1731,14 +1764,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Server Actions">
<group col="10" colspan="4">
<field name="name"/>
<field name="state"/>
<field name="model_id"/>
</group>
<newline/>
<field name="name" string="Server Action"/>
<field name="model_id"/>
<field name="state"/>
<group expand="0" string="Group By" colspan="4" col="4">
<filter string="Action Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'state'}"/>
<filter string="Action Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
@ -1766,7 +1796,6 @@
<tree string="Config Wizard Steps">
<field name="sequence"/>
<field name="action_id"/>
<field name="category_id"/>
<field name="type"/>
<field name="state" readonly="1"/>
<button name="action_launch" states="open" string="Launch" type="object" icon="gtk-execute" help="Launch Configuration Wizard"/>
@ -1783,26 +1812,25 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Config Wizard Steps" version="7.0">
<header>
<button name="action_launch"
states="open" string="Launch"
type="object" icon="gtk-execute" class="oe_highlight"
help="Launch Configuration Wizard"/>
<button name="action_open" states="done"
string="Set as Todo" type="object"
icon="gtk-convert" class="oe_highlight"/>
<field name="state" widget="statusbar" statusbar_visible="open,done" nolabel="1" readonly="1" statusbar_colors='{"open":"red","done":"blue"}'/>
</header>
<sheet>
<group col="4">
<field name="action_id"/>
<field name="type"/>
<field name="sequence"/>
<field name="category_id"/>
</group>
<group string="Groups">
<field name="groups_id" nolabel="1" colspan="4"/>
</group>
<group col="4">
<field name="state" readonly="1"/>
<button name="action_launch"
states="open" string="Launch"
type="object" icon="gtk-execute"
help="Launch Configuration Wizard"/>
<button name="action_open" states="done"
string="Set as Todo" type="object"
icon="gtk-convert"/>
</group>
</sheet>
</form>
</field>
@ -1814,17 +1842,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Actions">
<group>
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
<separator orientation="vertical"/>
<field name="action_id"/>
<field name="category_id"/>
<field name="state"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Category" context="{'group_by': 'category_id'}" icon="terp-folder-orange"/>
</group>
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
<field name="action_id"/>
<field name="state"/>
</search>
</field>
</record>
@ -1836,7 +1856,7 @@
<field name="view_type">form</field>
<field name="help">The configuration wizards are used to help you configure a new instance of OpenERP. They are launched during the installation of new modules, but you can choose to restart some wizards manually from this menu.</field>
</record>
<menuitem id="menu_ir_actions_todo" name="Configuration Wizards" parent="menu_custom" sequence="20" groups="base.group_no_one"/>
<menuitem id="menu_ir_actions_todo" name="Configuration Wizards" parent="menu_custom" sequence="20" groups="base.group_no_one"/>
<menuitem id="menu_ir_actions_todo_form" action="act_ir_actions_todo_form" parent="menu_ir_actions_todo"/>
<record model="ir.cron" id="cronjob_osv_memory_autovacuum">
@ -1851,50 +1871,6 @@
<field name="args">()</field>
</record>
<!-- ir.actions.todo category -->
<record id="ir_actions_todo_category_form" model="ir.ui.view">
<field name="name">ir.actions.todo.category.form</field>
<field name="model">ir.actions.todo.category</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Wizard Category" version="7.0">
<group col="4">
<field name="name"/>
<field name="sequence"/>
<field name="wizards_ids" nolabel="1" colspan="4"/>
</group>
</form>
</field>
</record>
<record id="ir_actions_todo_category_tree" model="ir.ui.view">
<field name="name">ir.actions.todo.category.tree</field>
<field name="model">ir.actions.todo.category</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Wizard Category">
<field name="name"/>
<field name="sequence"/>
</tree>
</field>
</record>
<record id="category_administration_config" model="ir.actions.todo.category">
<field name="name">Administration</field>
<field name="sequence">1</field>
</record>
<record id="category_sales_management_config" model="ir.actions.todo.category">
<field name="name">Sales Management</field>
<field name="sequence">5</field>
</record>
<record id="category_tools_customization_config" model="ir.actions.todo.category">
<field name="name">Tools / Customization</field>
<field name="sequence">5</field>
</record>
<!-- ir.mail.server -->
<record model="ir.ui.view" id="ir_mail_server_form">
<field name="name">ir.mail.server.form</field>
@ -1944,9 +1920,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Outgoing Mail Servers">
<field name="name"/>
<field name="smtp_host"/>
<field name="smtp_user"/>
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('smtp_host','ilike',self), ('smtp_user','ilike',self)]"
string="Outgoing Mail Server"/>
<field name="smtp_encryption"/>
</search>
</field>

View File

@ -210,10 +210,6 @@ class act_window(osv.osv):
res[act.id] = str(field_get)
return res
def _get_help_status(self, cr, uid, ids, name, arg, context=None):
activate_tips = self.pool.get('res.users').browse(cr, uid, uid).menu_tips
return dict([(id, activate_tips) for id in ids])
_columns = {
'name': fields.char('Action Name', size=64, translate=True),
'type': fields.char('Action Type', size=32, required=True),
@ -222,9 +218,10 @@ class act_window(osv.osv):
help="Optional domain filtering of the destination data, as a Python expression"),
'context': fields.char('Context Value', size=250, required=True,
help="Context dictionary as Python expression, empty by default (Default: {})"),
'res_model': fields.char('Object', size=64, required=True,
'res_id': fields.integer('Record ID', help="Database ID of record to open in form view, when ``view_mode`` is set to 'form' only"),
'res_model': fields.char('Destination Model', size=64, required=True,
help="Model name of the object to open in the view window"),
'src_model': fields.char('Source Object', size=64,
'src_model': fields.char('Source Model', size=64,
help="Optional model name of the objects on which this action should be visible"),
'target': fields.selection([('current','Current Window'),('new','New Window'),('inline','Inline')], 'Target Window'),
'view_type': fields.selection((('tree','Tree'),('form','Form')), string='View Type', required=True,
@ -250,8 +247,6 @@ class act_window(osv.osv):
'help': fields.text('Action description',
help='Optional help text for the users with a description of the target view, such as its usage and purpose.',
translate=True),
'display_menu_tip':fields.function(_get_help_status, type='boolean', string='Display Menu Tips',
help='It gives the status if the tip has to be displayed or not when a user executes an action'),
'multi': fields.boolean('Action on Multiple Doc.', help="If set to true, the action will not be displayed on the right toolbar of a form view"),
}
@ -754,20 +749,6 @@ class act_window_close(osv.osv):
}
act_window_close()
class ir_actions_todo_category(osv.osv):
"""
Category of Configuration Wizards
"""
_name = 'ir.actions.todo.category'
_description = "Configuration Wizard Category"
_columns = {
'name':fields.char('Name', size=64, translate=True, required=True),
'sequence': fields.integer('Sequence'),
'wizards_ids': fields.one2many('ir.actions.todo', 'category_id', 'Configuration Wizards'),
}
ir_actions_todo_category()
# This model use to register action services.
TODO_STATES = [('open', 'To Do'),
('done', 'Done')]
@ -781,8 +762,7 @@ class ir_actions_todo(osv.osv):
_description = "Configuration Wizards"
_columns={
'action_id': fields.many2one(
'ir.actions.act_window', 'Action', select=True, required=True,
ondelete='cascade'),
'ir.actions.actions', 'Action', select=True, required=True),
'sequence': fields.integer('Sequence'),
'state': fields.selection(TODO_STATES, string='State', required=True),
'name': fields.char('Name', size=64),
@ -792,14 +772,13 @@ Automatic: Runs whenever the system is reconfigured.
Launch Manually Once: after hacing been launched manually, it sets automatically to Done."""),
'groups_id': fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
'note': fields.text('Text', translate=True),
'category_id': fields.many2one('ir.actions.todo.category','Category'),
}
_defaults={
'state': 'open',
'sequence': 10,
'type': 'manual',
}
_order="sequence,name,id"
_order="sequence,id"
def action_launch(self, cr, uid, ids, context=None):
""" Launch Action of Wizard"""
@ -809,7 +788,11 @@ Launch Manually Once: after hacing been launched manually, it sets automatically
wizard.write({'state': 'done'})
# Load action
res = self.pool.get('ir.actions.act_window').read(cr, uid, wizard.action_id.id, [], context=context)
act_type = self.pool.get('ir.actions.actions').read(cr, uid, wizard.action_id.id, ['type'], context=context)
res = self.pool.get(act_type['type']).read(cr, uid, wizard.action_id.id, [], context=context)
if act_type<>'ir.actions.act_window':
return res
res.setdefault('context','{}')
res['nodestroy'] = True
@ -884,8 +867,10 @@ class act_client(osv.osv):
])
def _set_params(self, cr, uid, id, field_name, field_value, arg, context):
assert isinstance(field_value, dict), "params can only be dictionaries"
self.write(cr, uid, id, {'params_store': repr(field_value)}, context=context)
if isinstance(field_value, dict):
self.write(cr, uid, id, {'params_store': repr(field_value)}, context=context)
else:
self.write(cr, uid, id, {'params_store': field_value}, context=context)
_columns = {
'tag': fields.char('Client action tag', size=64, required=True,

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@ -7,7 +8,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="System Properties">
<field name="key"/>
<field name="key" string="Key"/>
<field name="value"/>
</search>
</field>
@ -34,13 +35,12 @@
<field name="key"/>
<field name="value"/>
</group>
</sheet>
</sheet>
</form>
</field>
</record>
<act_window name="System Parameters" res_model="ir.config_parameter" id="ir_config_list_action"/>
<menuitem name="System Parameters" id="ir_config_menu"
parent="base.next_id_4" action="ir_config_list_action" groups="base.group_no_one"/>
<menuitem id="ir_config_menu" name="System Parameters" parent="menu_ir_property" action="ir_config_list_action"/>
</data>
</openerp>

View File

@ -53,16 +53,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Filters">
<field name="name" string="Filter Name"/>
<filter string="Personal" domain="[('user_id','!=',False)]" help="Filters visible only for one user"/>
<filter string="Shared" domain="[('user_id','=',False)]" help="Filters shared with all users"/>
<separator orientation="vertical"/>
<field name="name"/>
<separator/>
<filter icon="terp-personal" domain="[('user_id','in',(uid, False))]"
name="my_filters"
string="My Filters"/>
<field name="model_id"/>
<field name="user_id">
<filter icon="terp-personal" domain="[('user_id','in',(uid, False))]"
name="my_filters"
string="My Filters" />
</field>
<field name="user_id"/>
</search>
</field>
</record>

View File

@ -161,7 +161,7 @@ def encode_rfc2822_address_header(header_text):
class ir_mail_server(osv.osv):
"""Represents an SMTP server, able to send outgoing e-mails, with SSL and TLS capabilities."""
"""Represents an SMTP server, able to send outgoing emails, with SSL and TLS capabilities."""
_name = "ir.mail_server"
_columns = {
@ -396,7 +396,7 @@ class ir_mail_server(osv.osv):
MailDeliveryException and logs root cause.
"""
smtp_from = message['Return-Path'] or message['From']
assert smtp_from, "The Return-Path or From header is required for any outbound e-mail"
assert smtp_from, "The Return-Path or From header is required for any outbound email"
# The email's "Envelope From" (Return-Path), and all recipient addresses must only contain ASCII characters.
from_rfc2822 = extract_rfc2822_addresses(smtp_from)

View File

@ -29,8 +29,7 @@ from openerp import netsvc, pooler, tools
from openerp.tools.safe_eval import safe_eval as eval
from openerp.tools import config
from openerp.tools.translate import _
from openerp.osv.orm import except_orm, browse_record, EXT_ID_PREFIX_FK, \
EXT_ID_PREFIX_M2M_TABLE, EXT_ID_PREFIX_CONSTRAINT
from openerp.osv.orm import except_orm, browse_record
_logger = logging.getLogger(__name__)
@ -97,9 +96,9 @@ class ir_model(osv.osv):
'field_id': fields.one2many('ir.model.fields', 'model_id', 'Fields', required=True),
'state': fields.selection([('manual','Custom Object'),('base','Base Object')],'Type',readonly=True),
'access_ids': fields.one2many('ir.model.access', 'model_id', 'Access'),
'osv_memory': fields.function(_is_osv_memory, string='In-Memory Model', type='boolean',
'osv_memory': fields.function(_is_osv_memory, string='Transient Model', type='boolean',
fnct_search=_search_osv_memory,
help="Indicates whether this object model lives in memory only, i.e. is not persisted (osv.osv_memory)"),
help="This field specifies whether the model is transient or not (i.e. if records are automatically deleted from the database or not)"),
'modules': fields.function(_in_modules, type='char', size=128, string='In Modules', help='List of modules in which the object is defined or inherited'),
'view_ids': fields.function(_view_ids, type='one2many', obj='ir.ui.view', string='Views'),
}
@ -179,14 +178,16 @@ class ir_model(osv.osv):
def create(self, cr, user, vals, context=None):
if context is None:
context = {}
if context and context.get('manual',False):
if context and context.get('manual'):
vals['state']='manual'
res = super(ir_model,self).create(cr, user, vals, context)
if vals.get('state','base')=='manual':
self.instanciate(cr, user, vals['model'], context)
self.pool.get(vals['model']).__init__(self.pool, cr)
ctx = context.copy()
ctx.update({'field_name':vals['name'],'field_state':'manual','select':vals.get('select_level','0')})
ctx = dict(context,
field_name=vals['name'],
field_state='manual',
select=vals.get('select_level', '0'))
self.pool.get(vals['model'])._auto_init(cr, ctx)
#pooler.restart_pool(cr.dbname)
return res
@ -226,7 +227,7 @@ class ir_model_fields(osv.osv):
'required': fields.boolean('Required'),
'readonly': fields.boolean('Readonly'),
'select_level': fields.selection([('0','Not Searchable'),('1','Always Searchable'),('2','Advanced Search (deprecated)')],'Searchable', required=True),
'translate': fields.boolean('Translate', help="Whether values for this field can be translated (enables the translation mechanism for that field)"),
'translate': fields.boolean('Translatable', help="Whether values for this field can be translated (enables the translation mechanism for that field)"),
'size': fields.integer('Size'),
'state': fields.selection([('manual','Custom Field'),('base','Base Field')],'Type', required=True, readonly=True, select=1),
'on_delete': fields.selection([('cascade','Cascade'),('set null','Set NULL')], 'On Delete', help='On delete property for many2one fields'),
@ -336,8 +337,11 @@ class ir_model_fields(osv.osv):
if self.pool.get(vals['model']):
self.pool.get(vals['model']).__init__(self.pool, cr)
#Added context to _auto_init for special treatment to custom field for select_level
ctx = context.copy()
ctx.update({'field_name':vals['name'],'field_state':'manual','select':vals.get('select_level','0'),'update_custom_fields':True})
ctx = dict(context,
field_name=vals['name'],
field_state='manual',
select=vals.get('select_level', '0'),
update_custom_fields=True)
self.pool.get(vals['model'])._auto_init(cr, ctx)
return res
@ -447,8 +451,8 @@ class ir_model_fields(osv.osv):
# was called earlier, they will be in-sync before the _auto_init.
# Anything we don't update in _columns now will be reset from
# the model into ir.model.fields (db).
ctx = context.copy()
ctx.update({'select': vals.get('select_level','0'),'update_custom_fields':True})
ctx = dict(context, select=vals.get('select_level', '0'),
update_custom_fields=True)
for __, patch_struct in models_patch.items():
obj = patch_struct[0]
@ -642,10 +646,37 @@ class ir_model_data(osv.osv):
"""
_name = 'ir.model.data'
_order = 'module,model,name'
def _display_name_get(self, cr, uid, ids, prop, unknow_none, context=None):
result = {}
result2 = {}
for res in self.browse(cr, uid, ids, context=context):
if res.id:
result.setdefault(res.model, {})
result[res.model][res.res_id] = res.id
result2[res.id] = False
for model in result:
try:
r = dict(self.pool.get(model).name_get(cr, uid, result[model].keys(), context=context))
for key,val in result[model].items():
result2[val] = r.get(key, False)
except:
# some object have no valid name_get implemented, we accept this
pass
return result2
def _complete_name_get(self, cr, uid, ids, prop, unknow_none, context=None):
result = {}
for res in self.browse(cr, uid, ids, context=context):
result[res.id] = (res.module and (res.module + '.') or '')+res.name
return result
_columns = {
'name': fields.char('External Identifier', required=True, size=128, select=1,
help="External Key/Identifier that can be used for "
"data integration with third-party systems"),
'complete_name': fields.function(_complete_name_get, type='char', string='Complete ID'),
'display_name': fields.function(_display_name_get, type='char', string='Record Name'),
'model': fields.char('Model Name', required=True, size=64, select=1),
'module': fields.char('Module', required=True, size=64, select=1),
'res_id': fields.integer('Record ID', select=1,
@ -799,20 +830,16 @@ class ir_model_data(osv.osv):
'res_id': inherit_id.id,
'noupdate': noupdate,
},context=context)
if xml_id:
if res_id:
self.loads[(module, xml_id)] = (model, res_id)
if model_obj._inherits:
for table in model_obj._inherits:
inherit_field = model_obj._inherits[table]
inherit_id = model_obj.read(cr, uid, res_id,
[inherit_field])[inherit_field]
self.loads[(module, xml_id + '_' + \
table.replace('.', '_'))] = (table, inherit_id)
if xml_id and res_id:
self.loads[(module, xml_id)] = (model, res_id)
for table, inherit_field in model_obj._inherits.iteritems():
inherit_id = model_obj.read(cr, uid, res_id,
[inherit_field])[inherit_field]
self.loads[(module, xml_id + '_' + table.replace('.', '_'))] = (table, inherit_id)
return res_id
def ir_set(self, cr, uid, key, key2, name, models, value, replace=True, isobject=False, meta=None, xml_id=False):
if type(models[0])==type([]) or type(models[0])==type(()):
if isinstance(models[0], (list, tuple)):
model,res_id = models[0]
else:
res_id=None
@ -832,12 +859,12 @@ class ir_model_data(osv.osv):
res = cr.fetchone()
if not res:
ir_values_obj = pooler.get_pool(cr.dbname).get('ir.values')
res = ir_values_obj.set(cr, uid, key, key2, name, models, value, replace, isobject, meta)
ir_values_obj.set(cr, uid, key, key2, name, models, value, replace, isobject, meta)
elif xml_id:
cr.execute('UPDATE ir_values set value=%s WHERE model=%s and key=%s and name=%s'+where,(value, model, key, name))
return True
def _module_data_uninstall(self, cr, uid, ids, context=None):
def _module_data_uninstall(self, cr, uid, modules_to_remove, context=None):
"""Deletes all the records referenced by the ir.model.data entries
``ids`` along with their corresponding database backed (including
dropping tables, columns, FKs, etc, as long as there is no other
@ -848,6 +875,8 @@ class ir_model_data(osv.osv):
This step is performed as part of the full uninstallation of a module.
"""
ids = self.search(cr, uid, [('module', 'in', modules_to_remove)])
if uid != 1 and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
@ -857,50 +886,11 @@ class ir_model_data(osv.osv):
ids_set = set(ids)
wkf_todo = []
to_unlink = []
to_drop_table = []
ids.sort()
ids.reverse()
for data in self.browse(cr, uid, ids, context):
model = data.model
res_id = data.res_id
model_obj = self.pool.get(model)
name = tools.ustr(data.name)
if name.startswith(EXT_ID_PREFIX_FK) or name.startswith(EXT_ID_PREFIX_M2M_TABLE)\
or name.startswith(EXT_ID_PREFIX_CONSTRAINT):
# double-check we are really going to delete all the owners of this schema element
cr.execute("""SELECT id from ir_model_data where name = %s and res_id IS NULL""", (data.name,))
external_ids = [x[0] for x in cr.fetchall()]
if (set(external_ids)-ids_set):
# as installed modules have defined this element we must not delete it!
continue
if name.startswith(EXT_ID_PREFIX_FK):
name = name[len(EXT_ID_PREFIX_FK):]
# test if FK exists on this table (it could be on a related m2m table, in which case we ignore it)
cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid)
WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('f', name, model_obj._table))
if cr.fetchone():
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped FK CONSTRAINT %s@%s', name, model)
continue
if name.startswith(EXT_ID_PREFIX_M2M_TABLE):
name = name[len(EXT_ID_PREFIX_M2M_TABLE):]
cr.execute("SELECT 1 FROM information_schema.tables WHERE table_name=%s", (name,))
if cr.fetchone() and not name in to_drop_table:
to_drop_table.append(name)
continue
if name.startswith(EXT_ID_PREFIX_CONSTRAINT):
name = name[len(EXT_ID_PREFIX_CONSTRAINT):]
# test if constraint exists
cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid)
WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('u', name, model_obj._table))
if cr.fetchone():
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped CONSTRAINT %s@%s', name, model)
continue
pair_to_unlink = (model, res_id)
if pair_to_unlink not in to_unlink:
@ -918,24 +908,19 @@ class ir_model_data(osv.osv):
for model,res_id in wkf_todo:
try:
wf_service.trg_write(uid, model, res_id, cr)
except:
_logger.info('Unable to force processing of workflow for item %s@%s in order to leave activity to be deleted', res_id, model)
# drop m2m relation tables
for table in to_drop_table:
cr.execute('DROP TABLE %s CASCADE'% (table),)
_logger.info('Dropped table %s', table)
except Exception:
_logger.info('Unable to force processing of workflow for item %s@%s in order to leave activity to be deleted', res_id, model, exc_info=True)
def unlink_if_refcount(to_unlink):
for model, res_id in to_unlink:
external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)])
if (set(external_ids)-ids_set):
if set(external_ids)-ids_set:
# if other modules have defined this record, we must not delete it
return
continue
_logger.info('Deleting %s@%s', res_id, model)
try:
self.pool.get(model).unlink(cr, uid, [res_id], context=context)
except:
except Exception:
_logger.info('Unable to delete %s@%s', res_id, model, exc_info=True)
# Remove non-model records first, then model fields, and finish with models
@ -943,11 +928,18 @@ class ir_model_data(osv.osv):
if model not in ('ir.model','ir.model.fields'))
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
if model == 'ir.model.fields')
ir_model_relation = self.pool.get('ir.model.relation')
relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove)])
ir_model_relation._module_data_uninstall(cr, uid, relation_ids, context)
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
if model == 'ir.model')
cr.commit()
self.unlink(cr, uid, ids, context)
def _process_end(self, cr, uid, modules):
""" Clear records removed from updated module data.
This method is called at the end of the module loading process.

View File

@ -0,0 +1,79 @@
import logging
import openerp
from openerp import SUPERUSER_ID
from openerp.osv import fields
from openerp.osv.orm import Model
_logger = logging.getLogger(__name__)
class ir_model_constraint(Model):
"""
This model tracks PostgreSQL foreign keys and constraints used by OpenERP
models.
"""
_name = 'ir.model.constraint'
_columns = {
'name': fields.char('Constraint', required=True, size=128, select=1,
help="PostgreSQL constraint or foreign key name."),
'model': fields.many2one('ir.model', string='Model',
required=True, select=1),
'module': fields.many2one('ir.module.module', string='Module',
required=True, select=1),
'type': fields.char('Constraint Type', required=True, size=1, select=1,
help="Type of the constraint: `f` for a foreign key, "
"`u` for other constraints."),
'date_update': fields.datetime('Update Date'),
'date_init': fields.datetime('Initialization Date')
}
_sql_constraints = [
('module_name_uniq', 'unique(name, module)',
'Constraints with the same name are unique per module.'),
]
def _module_data_uninstall(self, cr, uid, ids, context=None):
"""
Delete PostgreSQL foreign keys and constraints tracked by this model.
"""
if uid != SUPERUSER_ID and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
context = dict(context or {})
ids_set = set(ids)
ids.sort()
ids.reverse()
to_unlink = []
for data in self.browse(cr, uid, ids, context):
model = data.model.model
model_obj = self.pool.get(model)
name = openerp.tools.ustr(data.name)
typ = data.type
# double-check we are really going to delete all the owners of this schema element
cr.execute("""SELECT id from ir_model_constraint where name=%s""", (data.name,))
external_ids = [x[0] for x in cr.fetchall()]
if (set(external_ids)-ids_set):
# as installed modules have defined this element we must not delete it!
continue
if typ == 'f':
# test if FK exists on this table (it could be on a related m2m table, in which case we ignore it)
cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid)
WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('f', name, model_obj._table))
if cr.fetchone():
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped FK CONSTRAINT %s@%s', name, model)
if typ == 'u':
# test if constraint exists
cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid)
WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('u', name, model_obj._table))
if cr.fetchone():
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped CONSTRAINT %s@%s', name, model)
to_unlink.append(data.id)
self.unlink(cr, uid, to_unlink, context)

View File

@ -0,0 +1,65 @@
import logging
import openerp
from openerp import SUPERUSER_ID
from openerp.osv import fields
from openerp.osv.orm import Model
_logger = logging.getLogger(__name__)
class ir_model_relation(Model):
"""
This model tracks PostgreSQL tables used to implement OpenERP many2many
relations.
"""
_name = 'ir.model.relation'
_columns = {
'name': fields.char('Relation Name', required=True, size=128, select=1,
help="PostgreSQL table name implementing a many2many relation."),
'model': fields.many2one('ir.model', string='Model',
required=True, select=1),
'module': fields.many2one('ir.module.module', string='Module',
required=True, select=1),
'date_update': fields.datetime('Update Date'),
'date_init': fields.datetime('Initialization Date')
}
def _module_data_uninstall(self, cr, uid, ids, context=None):
"""
Delete PostgreSQL many2many relations tracked by this model.
"""
if uid != SUPERUSER_ID and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
ids_set = set(ids)
to_drop_table = []
ids.sort()
ids.reverse()
to_unlink = []
for data in self.browse(cr, uid, ids, context):
model = data.model
model_obj = self.pool.get(model)
name = openerp.tools.ustr(data.name)
# double-check we are really going to delete all the owners of this schema element
cr.execute("""SELECT id from ir_model_relation where name = %s""", (data.name,))
external_ids = [x[0] for x in cr.fetchall()]
if (set(external_ids)-ids_set):
# as installed modules have defined this element we must not delete it!
continue
cr.execute("SELECT 1 FROM information_schema.tables WHERE table_name=%s", (name,))
if cr.fetchone() and not name in to_drop_table:
to_drop_table.append(name)
to_unlink.append(data.id)
self.unlink(cr, uid, to_unlink, context)
# drop m2m relation tables
for table in to_drop_table:
cr.execute('DROP TABLE %s CASCADE'% (table),)
_logger.info('Dropped table %s', table)
cr.commit()

View File

@ -24,16 +24,16 @@ from operator import itemgetter
from osv import osv, fields
from tools.translate import _
class ir_needaction_users_rel(osv.osv):
'''
ir_needaction_users_rel holds data related to the needaction
mechanism inside OpenERP. A row in this model is characterized by:
class ir_needaction_users_rel(osv.Model):
''' ir_needaction_users_rel holds data related to the needaction
mechanism inside OpenERP. A row in this model is characterized
by:
- res_model: model of the record requiring an action
- res_id: ID of the record requiring an action
- user_id: foreign key to the res.users table, to the user that
has to perform the action
This model can be seen as a many2many, linking (res_model, res_id) to
users (those whose attention is required on the record).'''
- user_id: foreign key to the res.users table, to the user that has to
perform the action
This model can be seen as a many2many, linking (res_model, res_id) to users
(those whose attention is required on the record). '''
_name = 'ir.needaction_users_rel'
_description = 'Needaction relationship table'
@ -78,50 +78,47 @@ class ir_needaction_users_rel(osv.osv):
return True
class ir_needaction_mixin(osv.osv):
class ir_needaction_mixin(osv.Model):
'''Mixin class for objects using the need action feature.
Need action feature can be used by objects willing to be able to
signal that an action is required on a particular record. If in the
business logic an action must be performed by somebody, for instance
validation by a manager, this mechanism allows to set a list of
users asked to perform an action.
Need action feature can be used by objects having to be able to
signal that an action is required on a particular record. If in
the business logic an action must be performed by somebody, for
instance validation by a manager, this mechanism allows to set a
list of users asked to perform an action.
This class wraps a class (ir.ir_needaction_users_rel) that behaves
like a many2many field. However, no field is added to the model
inheriting from this mixin class. This class handles the low-level
considerations of updating relationships. Every change made on the
record calls a method that updates the relationships.
This class wraps a class (ir.ir_needaction_users_rel) that
behaves like a many2many field. This class handles the low-level
considerations of updating relationships. Every change made on
the record calls a method that updates the relationships.
Objects using the 'need_action' feature should override the
``get_needaction_user_ids`` method. This methods returns a dictionary
whose keys are record ids, and values a list of user ids, like
in a many2many relationship. Therefore by defining only one method,
you can specify if an action is required by defining the users
that have to do it, in every possible situation.
Objects using the 'need_action' feature should override the
``get_needaction_user_ids`` method. This methods returns a
dictionary whose keys are record ids, and values a list of user
ids, like in a many2many relationship. Therefore by defining
only one method, you can specify if an action is required by
defining the users that have to do it, in every possible
situation.
This class also offers several global services,:
This class also offers several global services:
- ``needaction_get_record_ids``: for the current model and uid, get
all record ids that ask this user to perform an action. This
mechanism is used for instance to display the number of pending
actions in menus, such as Leads (12)
all record ids that ask this user to perform an action. This
mechanism is used for instance to display the number of pending
actions in menus, such as Leads (12)
- ``needaction_get_action_count``: as ``needaction_get_record_ids``
but returns only the number of action, not the ids (performs a
search with count=True)
- ``needaction_get_user_record_references``: for a given uid, get all
the records that ask this user to perform an action. Records
are given as references, a list of tuples (model_name, record_id)
but returns only the number of action, not the ids (performs a
search with count=True)
The ``ir_needaction_mixin`` class adds a function field on models inheriting
from the class. This field allows to state whether a given record has
a needaction for the current user. This is usefull if you want to customize
views according to the needaction feature. For example, you may want to
set records in bold in a list view if the current user has an action to
perform on the record. This makes the class not a pure abstract class,
but allows to easily use the action information.'''
The ``ir_needaction_mixin`` class adds a calculated field
``needaction_pending``. This function field allows to state
whether a given record has a needaction for the current user.
This is usefull if you want to customize views according to the
needaction feature. For example, you may want to set records in
bold in a list view if the current user has an action to perform
on the record. '''
_name = 'ir.needaction_mixin'
_description = '"Need action" mixin'
_description = 'Need action mixin'
def get_needaction_pending(self, cr, uid, ids, name, arg, context=None):
res = {}
@ -129,13 +126,19 @@ class ir_needaction_mixin(osv.osv):
for id in ids:
res[id] = uid in needaction_user_ids[id]
return res
def search_needaction_pending(self, cr, uid, self_again, field_name, criterion, context=None):
ids = self.needaction_get_record_ids(
cr, uid, uid, limit=1024, context=context)
return [('id', 'in', ids)]
_columns = {
'needaction_pending': fields.function(get_needaction_pending, type='boolean',
string='Need action pending',
help='If True, this field states that users have to perform an action. \
This field comes from the needaction mechanism. Please refer \
to the ir.needaction_mixin class.'),
'needaction_pending': fields.function(
get_needaction_pending, type='boolean',
fnct_search=search_needaction_pending,
string='Need action pending',
help="If True, this field states that users have to perform an " \
"action This field comes from the ir.needaction_mixin class."),
}
#------------------------------------------------------
@ -146,7 +149,7 @@ class ir_needaction_mixin(osv.osv):
""" Returns the user_ids that have to perform an action
:return: dict { record_id: [user_ids], }
"""
return dict.fromkeys(ids, [])
return dict((id,list()) for id in ids)
def create(self, cr, uid, values, context=None):
rel_obj = self.pool.get('ir.needaction_users_rel')
@ -191,14 +194,5 @@ class ir_needaction_mixin(osv.osv):
get the number of actions it has to perform"""
rel_obj = self.pool.get('ir.needaction_users_rel')
return rel_obj.search(cr, uid, [('res_model', '=', self._name), ('user_id', '=', user_id)], limit=limit, count=True, context=context)
def needaction_get_record_references(self, cr, uid, user_id, offset=None, limit=None, order=None, context=None):
"""For a given user_id, get all the records that asks this user to
perform an action. Records are given as references, a list of
tuples (model_name, record_id).
This method is trans-model."""
rel_obj = self.pool.get('ir.needaction_users_rel')
rel_ids = rel_obj.search(cr, uid, [('user_id', '=', user_id)], offset=offset, limit=limit, order=order, context=context)
return map(itemgetter('res_model', 'res_id'), rel_obj.read(cr, uid, rel_ids, ['res_model', 'res_id'], context=context))
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -7,14 +7,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Create Menu" version="7.0">
<header>
<button name="menu_create" string="Create _Menu" type="object"/>
<button special="cancel" string="_Cancel"/>
</header>
<group>
<field name="name"/>
<field name="menu_id" domain="[('parent_id','&lt;&gt;',False)]"/>
</group>
<footer>
<button name="menu_create" string="Create _Menu" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>

View File

@ -15,28 +15,25 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Workflow" version="7.0">
<sheet>
<group col="4">
<field name="name"/>
<field name="osv"/>
<field name="on_create"/>
</group>
<field name="activities"/>
</sheet>
</form>
</field>
</record>
<record id="view_workflow_search" model="ir.ui.view">
<field name="name">workflow.search</field>
<field name="model">workflow</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow">
<field name="name"/>
<field name="osv"/>
</search>
</field>
<field name="name">workflow.search</field>
<field name="model">workflow</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow">
<field name="name" filter_domain="['|', ('name','ilike',self), ('osv','ilike',self)]" string="Workflow"/>
</search>
</field>
</record>
<record id="view_workflow_diagram" model="ir.ui.view">
@ -161,27 +158,24 @@
</record>
<record id="view_workflow_activity_search" model="ir.ui.view">
<field name="name">workflow.activity.search</field>
<field name="model">workflow.activity</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Activity">
<filter icon="terp-camera_test" string="Flow Start"
domain="[('flow_start', '=',True)]" />
<filter icon="terp-gtk-stop" string="Flow Stop"
domain="[('flow_stop', '=',True)]" />
<separator orientation="vertical"/>
<field name="name"/>
<field name="wkf_id"/>
<field name="kind"/>
<field name="action_id"/>
<field name="action"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Workflow" icon="terp-stage" domain="[]" context="{'group_by':'wkf_id'}"/>
</group>
</search>
</field>
<field name="name">workflow.activity.search</field>
<field name="model">workflow.activity</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Activity">
<field name="name" string="Workflow Activity"/>
<filter icon="terp-camera_test" string="Flow Start"
domain="[('flow_start', '=',True)]" />
<filter icon="terp-gtk-stop" string="Flow Stop"
domain="[('flow_stop', '=',True)]" />
<field name="wkf_id"/>
<field name="action_id"/>
<field name="kind"/>
<group expand="0" string="Group By...">
<filter string="Workflow" icon="terp-stage" domain="[]" context="{'group_by':'wkf_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_workflow_activity_form" model="ir.actions.act_window">
@ -207,14 +201,18 @@
<field name="arch" type="xml">
<form string="Transition" version="7.0">
<sheet>
<group col="6">
<field name="act_from"/>
<field name="act_to"/>
<field name="signal"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
<field name="group_id"/>
<group>
<group>
<field name="act_from"/>
<field name="act_to"/>
<field name="signal"/>
<field name="condition"/>
</group>
<group>
<field name="group_id"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
</group>
</group>
</sheet>
</form>
@ -235,17 +233,16 @@
</record>
<record id="view_workflow_transition_search" model="ir.ui.view">
<field name="name">workflow.transition.search</field>
<field name="model">workflow.transition</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Transition">
<field name="act_from"/>
<field name="act_to"/>
<field name="signal"/>
<field name="condition"/>
</search>
</field>
<field name="name">workflow.transition.search</field>
<field name="model">workflow.transition</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Transition">
<field name="signal" filter_domain="['|', ('signal','ilike',self), ('condition','ilike',self)]" string="Workflow Transition"/>
<field name="act_from"/>
<field name="act_to"/>
</search>
</field>
</record>
<record id="action_workflow_transition_form" model="ir.actions.act_window">
@ -294,17 +291,16 @@
</field>
</record>
<record id="view_workflow_instance_search" model="ir.ui.view">
<field name="name">workflow.instance.search</field>
<field name="model">workflow.instance</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Instances">
<filter icon="terp-camera_test" string="Active" domain="[('state','=','active')]" name="active"/>
<separator orientation="vertical"/>
<field name="wkf_id" widget="selection"/>
<field name="res_id"/>
<field name="res_type"/>
<field name="state"/>
<field name="name">workflow.instance.search</field>
<field name="model">workflow.instance</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Instances">
<field name="res_type" string="Resource Object"/>
<filter icon="terp-camera_test" string="Active" domain="[('state','=','active')]" name="active"/>
<field name="wkf_id"/>
<field name="res_id"/>
<field name="state"/>
</search>
</field>
</record>
@ -317,7 +313,7 @@
<field name="context">{'search_default_active':1}</field>
<field name="search_view_id" ref="view_workflow_instance_search"/>
</record>
<menuitem action="action_workflow_instance_form" id="menu_workflow_instance" parent="base.menu_low_workflow"/>
<menuitem action="action_workflow_instance_form" id="menu_workflow_instance" parent="base.menu_workflow_root"/>
<!--
================================
@ -349,7 +345,7 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Workflow Workitems">
<field name="wkf_id"/>
<field name="wkf_id"/>
<field name="act_id"/>
<field name="subflow_id"/>
<field name="inst_id"/>
@ -358,20 +354,19 @@
</field>
</record>
<record id="view_workflow_workitem_search" model="ir.ui.view">
<field name="name">workflow.workitem.search</field>
<field name="model">workflow.workitem</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Workitems">
<filter icon="terp-camera_test" string="Active" name="active" domain="[('state','=','active')]"/>
<separator orientation="vertical"/>
<field name="wkf_id" widget="selection"/>
<field name="act_id"/>
<field name="subflow_id"/>
<field name="inst_id"/>
<field name="state"/>
</search>
</field>
<field name="name">workflow.workitem.search</field>
<field name="model">workflow.workitem</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Workflow Workitems">
<field name="state" string="State"/>
<filter icon="terp-camera_test" string="Active" name="active" domain="[('state','=','active')]"/>
<field name="wkf_id"/>
<field name="act_id"/>
<field name="subflow_id"/>
<field name="inst_id"/>
</search>
</field>
</record>
<record id="action_workflow_workitem_form" model="ir.actions.act_window">
@ -382,7 +377,7 @@
<field name="context">{'search_default_active':1}</field>
<field name="search_view_id" ref="view_workflow_workitem_search"/>
</record>
<menuitem action="action_workflow_workitem_form" id="menu_workflow_workitem" parent="base.menu_low_workflow"/>
<menuitem action="action_workflow_workitem_form" id="menu_workflow_workitem" parent="base.menu_workflow_root"/>
</data>
</openerp>

View File

@ -80,6 +80,7 @@ class module_category(osv.osv):
class module(osv.osv):
_name = "ir.module.module"
_rec_name = "shortdesc"
_description = "Module"
@classmethod
@ -180,6 +181,7 @@ class module(osv.osv):
'name': fields.char("Technical Name", size=128, readonly=True, required=True, select=True),
'category_id': fields.many2one('ir.module.category', 'Category', readonly=True, select=True),
'shortdesc': fields.char('Module Name', size=256, readonly=True, translate=True),
'summary': fields.char('Summary', size=256, readonly=True, translate=True),
'description': fields.text("Description", readonly=True, translate=True),
'author': fields.char("Author", size=128, readonly=True),
'maintainer': fields.char('Maintainer', size=128, readonly=True),
@ -364,8 +366,9 @@ class module(osv.osv):
if config.get('type') not in ('ir.actions.reload', 'ir.actions.act_window_close'):
return config
# reload the client
menu_ids = self.root_menus(cr,uid,ids,context)
# reload the client; open the first available root menu
menu_obj = self.pool.get('ir.ui.menu')
menu_ids = menu_obj.search(cr, uid, [('parent_id', '=', False)], context=context)
return {
'type': 'ir.actions.client',
'tag': 'reload',
@ -381,10 +384,11 @@ class module(osv.osv):
including the deletion of all database structures created by the module:
tables, columns, constraints, etc."""
ir_model_data = self.pool.get('ir.model.data')
ir_model_constraint = self.pool.get('ir.model.constraint')
modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)]
data_ids = ir_model_data.search(cr, uid, [('module', 'in', modules_to_remove)])
ir_model_data._module_data_uninstall(cr, uid, data_ids, context)
ir_model_data.unlink(cr, uid, data_ids, context)
constraint_ids = ir_model_constraint.search(cr, uid, [('module', 'in', modules_to_remove)])
ir_model_constraint._module_data_uninstall(cr, uid, constraint_ids, context)
ir_model_data._module_data_uninstall(cr, uid, modules_to_remove, context)
self.write(cr, uid, ids, {'state': 'uninstalled'})
return True
@ -456,7 +460,7 @@ class module(osv.osv):
to_install.extend(ids2)
self.button_install(cr, uid, to_install, context=context)
return dict(ACTION_DICT, name=_('Upgrade'))
return dict(ACTION_DICT, name=_('Apply Schedule Upgrade'))
def button_upgrade_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'installed'})
@ -481,6 +485,7 @@ class module(osv.osv):
'application': terp.get('application', False),
'auto_install': terp.get('auto_install', False),
'icon': terp.get('icon', False),
'summary': terp.get('summary', ''),
}
# update the list of available packages
@ -649,29 +654,6 @@ 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 root_menus(self, cr, uid, ids, context=None):
""" Return root menu ids the menus created by the modules whose ids are
provided.
:param list[int] ids: modules to get menus from
"""
values = self.read(cr, uid, ids, ['name'], context=context)
module_names = [i['name'] for i in values]
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]
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.sequence,menu.id))
root_menu_ids.sort()
root_menu_ids = [i[1] for i in root_menu_ids]
return root_menu_ids
class module_dependency(osv.osv):
_name = "ir.module.module.dependency"
_description = "Module dependency"

View File

@ -91,7 +91,7 @@
</record>
<record model="ir.module.category" id="module_category_point_of_sale">
<field name="name">Point of Sales</field>
<field name="name">Point of Sale</field>
<field name="description">Helps you get the most out of your points of sales with fast sale encoding, simplified payment mode encoding, automatic picking lists generation and more.</field>
<field name="sequence">13</field>
</record>
@ -132,6 +132,11 @@
<record model="res.groups" id="group_multi_company">
<field name="category_id" ref="module_category_usability"/>
</record>
<record model="res.groups" id="group_multi_currency">
<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>

View File

@ -41,24 +41,17 @@
<field name="type">search</field>
<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', 'to install'])]"/>
<separator orientation="vertical"/>
<field name="name"
filter_domain="['|', ('name','ilike',self), ('shortdesc','ilike',self)]"
string="Name"/>
<field name="description" string="Keywords"/>
<field name="category_id"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'author'}"/>
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
</group>
<field name="name" filter_domain="['|', '|', '|', ('description', 'ilike', self), ('summary', 'ilike', self), ('shortdesc', 'ilike', self), ('name',
'ilike', self)]"/>
<filter name="app" icon="terp-check" string="Apps" domain="[('application', '=', 1)]"/>
<filter name="extra" icon="terp-check" string="Extra" domain="[('application', '=', 0)]"/>
<separator/>
<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', 'to install'])]"/>
<field name="category_id"/>
<group expand="0" string="Group By...">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'author'}"/>
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
</group>
</search>
</field>
@ -69,31 +62,29 @@
<field name="model">ir.module.module</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
<kanban create="false">
<kanban create="false">
<field name="icon"/>
<field name="name"/>
<field name="state"/>
<field name="summary"/>
<templates>
<t t-name="kanban-box">
<div class="oe_module_vignette oe_kanban_auto_height">
<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>
<img t-attf-src="#{record.icon.value}" class="oe_module_icon"/>
<div class="oe_module_desc">
<h4><a type="edit"><field name="shortdesc"/></a></h4>
<p class="oe_module_name">
<field name="name"/><br/>
<t t-if="record.summary.raw_value"><field name="summary"/><br/></t>
<i><field name="name" groups="base.group_no_one"/></i>
</p>
<button type="object" name="button_immediate_install" states="uninstalled" class="oe_button">Install</button>
<button t-if="installed" class="oe_button" disabled="disabled">Installed</button>
<button type="object" name="button_immediate_install" states="uninstalled">Install</button>
<button t-if="installed" disabled="disabled">Installed</button>
</div>
</div>
</t>
</templates>
</kanban>
</kanban>
</field>
</record>
@ -120,46 +111,44 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Module" version="7.0">
<header>
<button name="button_install" states="uninstalled" string="Install" icon="terp-gtk-jump-to-ltr" type="object" class="oe_form_button_hi"/>
<button name="button_upgrade" states="installed" string="Upgrade" icon="terp-gtk-go-back-rtl" type="object" class="oe_form_button_hi"/>
<button name="button_uninstall" states="installed" string="Uninstall (beta)" icon="terp-dialog-close" type="object"
confirm="Do you confirm the uninstallation of this module? This will permanently erase all data currently stored by the module!"/>
<button name="button_uninstall_cancel" states="to remove" string="Cancel Uninstall" icon="gtk-cancel" type="object"/>
<button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" icon="gtk-cancel" type="object"/>
<button name="button_install_cancel" states="to install" string="Cancel Install" icon="gtk-cancel" type="object"/>
<field name="state" widget="statusbar" statusbar_visible="uninstalled"/>
</header>
<sheet>
<div class="oe_right oe_form_button_box">
<field name="icon_image" widget="image"/>
</div>
<div class="oe_form_title">
<label for="shortdesc" class="oe_form_readonly_hidden"/>
<field name="icon_image" widget="image" class="oe_avatar oe_left"/>
<div class="oe_title">
<h1><field name="shortdesc"/></h1>
<label for="category_id" class="oe_form_readonly_hidden"/>
<h2><field name="category_id" class="oe_form_inline"/></h2>
<h2 class="oe_fade"><field name="summary"/></h2>
<button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="oe_highlight"/>
<button name="button_upgrade" states="installed" string="Upgrade" type="object" class="oe_highlight"/>
<button name="button_uninstall" states="installed" string="Uninstall" type="object"
confirm="Do you confirm the uninstallation of this module? This will permanently erase all data currently stored by the module!"/>
<button name="button_uninstall_cancel" states="to remove" string="Cancel Uninstall" type="object"/>
<button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" type="object"/>
<button name="button_install_cancel" states="to install" string="Cancel Install" type="object"/>
</div>
<group>
<group>
<field name="author"/>
<field name="website" widget="url" attrs="{'invisible':[('website','=',False)]}"/>
<field name="category_id" widget="selection"/>
</group>
<group>
<field name="name"/>
<field name="license"/>
<field name="installed_version"/>
</group>
<group>
<field name="author"/>
<field name="website" widget="url"/>
</group>
</group>
<notebook colspan="4">
<notebook>
<page string="Description">
<field name="description"/>
</page>
<page string="Technical Data">
<page string="Technical Data" groups="base.group_no_one">
<group col="4">
<field name="demo"/>
<field name="application"/>
<field name="state"/>
</group>
<label for="views_by_module" string="Created Views"/>
<field name="views_by_module"/>
<label for="dependencies_id"/>
<field name="dependencies_id">
<tree string="Dependencies">
<field name="name"/>
@ -170,8 +159,6 @@
<page string="Features" attrs="{'invisible':[('state','!=','installed')]}">
<label for="menus_by_module" string="Created Menus"/>
<field name="menus_by_module"/>
<label for="views_by_module" string="Created Views"/>
<field name="views_by_module"/>
<label for="reports_by_module" string="Defined Reports"/>
<field name="reports_by_module"/>
</page>
@ -195,15 +182,19 @@
</field>
</record>
<record id="open_module_tree" model="ir.actions.act_window">
<field name="name">Modules</field>
<field name="name">Install a Module</field>
<field name="res_model">ir.module.module</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{'search_default_app':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>
<field name="help" type="html">
<p><b>No module found!</b></p>
<p>You should try others search criteria.</p>
</field>
</record>
<menuitem action="open_module_tree" id="menu_module_tree" parent="base.menu_management" sequence="1"/>
<menuitem id="menu_module_tree" parent="base.menu_management" name="Modules"
sequence="1" action="open_module_tree"/>
</data>
</openerp>

View File

@ -7,46 +7,27 @@
<field name="model">base.language.export</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Export Translations">
<group col="8">
<group colspan="3">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label colspan="4" width="220" string="OpenERP translations (core, modules, clients) are managed through Launchpad.net, our open source project management facility. We use their online interface to synchronize all translations efforts."/>
<label colspan="4" width="220" string="To improve or expand the official translations, you should use directly Lauchpad's web interface (Rosetta). If you need to perform mass translation, Launchpad also allows uploading full .po files at once"/>
<label colspan="4" width="220"/>
<label colspan="4" width="220" string="To browse official translations, you can start with these links:"/>
<label colspan="4" width="220" string="https://help.launchpad.net/Translations"/>
<label colspan="4" width="220" string="https://translations.launchpad.net/openobject"/>
</group>
<separator orientation="vertical" rowspan="15"/>
<group colspan="4">
<group colspan="4" states="choose">
<separator colspan="4" string="Export Translation"/>
<field name="lang"/>
<field name="format" required="1"/>
<field height="200" name="modules" nolabel="1" colspan="4"/>
<field invisible="1" name="state"/>
</group>
<group colspan="4" states="get">
<separator string="Export done" colspan="4"/>
<field name="name" invisible="1" colspan="4"/>
<field name="data" nolabel="1" readonly="1" filename="name" colspan="4"/>
<field height="80" name="advice" nolabel="1" colspan="4"/>
</group>
</group>
<group colspan="8" col="8" states="choose">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button icon="gtk-cancel" name="act_cancel" special="cancel" string="_Close" type="object"/>
<button icon="gtk-ok" name="act_getfile" string="_Export" type="object"/>
</group>
<group colspan="8" col="8" states="get">
<separator string="" colspan="8"/>
<label colspan="7" width="220"/>
<button icon="gtk-close" name="act_destroy" special="cancel" string="_Close" type="object"/>
</group>
<form string="Export Translations" version="7.0">
<group colspan="4" states="choose">
<separator colspan="4" string="Export Translation"/>
<field name="lang"/>
<field name="format" required="1"/>
<field name="modules" nolabel="1"/>
<field invisible="1" name="state"/>
</group>
<group colspan="4" states="get">
<separator string="Export done" colspan="4"/>
<field name="name" invisible="1" colspan="4"/>
<field name="data" nolabel="1" readonly="1" filename="name" colspan="4"/>
<field height="80" name="advice" nolabel="1" colspan="4"/>
</group>
<footer states="choose">
<button name="act_getfile" string="_Export" type="object" class="oe_highlight"/> or
<button name="act_cancel" special="cancel" string="_Cancel" type="object" class="oe_link"/>
</footer>
<footer states="get">
<button name="act_cancel" special="cancel" string="_Close" type="object"/>
</footer>
</form>
</field>
</record>

View File

@ -8,18 +8,17 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Import Translation" version="7.0">
<header>
<button name="import_lang" string="_Import" type="object" icon="gtk-ok"/>
<button special="cancel" string="_Close" icon="gtk-cancel"/>
</header>
<separator string="Import Translation" colspan="2"/>
<label nolabel="1" string="If you need another language than the official ones available, you can import a language pack from here. Other OpenERP languages than the official ones can be found on launchpad." colspan="2"/>
<group col="4">
<group>
<field name="name"/>
<field name="code"/>
<field name="code" string="Code" placeholder="en_US"/>
<field name="data"/>
<field name="overwrite"/>
</group>
<footer>
<button name="import_lang" string="_Import" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>

View File

@ -3,50 +3,33 @@
<data>
<record id="view_base_language_install" model="ir.ui.view">
<field name="name">Load Official Translation</field>
<field name="name">Load a Translation</field>
<field name="model">base.language.install</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Load Official Translation">
<group colspan="4" col="8">
<group colspan="1">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label colspan="4" width="220" string="This wizard helps you add a new language to your OpenERP system. After loading a new language it becomes available as default interface language for users and partners."/>
<label colspan="4" width="220"/>
<label colspan="4" width="220" string="Please be patient, this operation may take a few minutes (depending on the number of modules currently installed)..."/>
<field name="state" invisible="1"/>
</group>
<separator orientation="vertical" colspan="1" rowspan="12"/>
<group colspan="6">
<separator string="Load an Official Translation" colspan="4"/>
<group states="init" colspan="4">
<field name="lang" colspan="4"/>
<field name="overwrite" colspan="4" groups="base.group_no_one"/>
</group>
<group states="done" colspan="4">
<label string="The selected language has been successfully installed.
You must change the preferences of the user and open a new menu to view the changes." colspan="4"/>
</group>
</group>
<form string="Load a Translation" version="7.0">
<field name="state" invisible="1"/>
<group states="init">
<field name="lang"/>
<field name="overwrite" groups="base.group_no_one"/>
</group>
<group colspan="8" col="8" states="init">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button special="cancel" string="Cancel" icon="gtk-cancel" colspan="1"/>
<button name="lang_install" string="Load" type="object" icon="gtk-ok" colspan="1"/>
</group>
<group colspan="8" col="8" states="done">
<separator string="" colspan="8"/>
<label colspan="7" width="220"/>
<button special="cancel" string="Close" icon="gtk-ok"/>
</group>
<group states="done" colspan="4">
<label string="The selected language has been successfully installed.
You must change the preferences of the user and open a new menu to view the changes."/>
</group>
<footer states="init">
<button name="lang_install" string="Load" type="object" class="oe_highlight"/> or
<button special="cancel" string="Cancel" class="oe_link"/>
</footer>
<footer states="done">
<button special="cancel" string="Close"/>
</footer>
</form>
</field>
</record>
<record id="action_view_base_language_install" model="ir.actions.act_window">
<field name="name">Load Official Translation</field>
<field name="name">Load a Translation</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.language.install</field>
<field name="view_type">form</field>
@ -55,10 +38,10 @@ You must change the preferences of the user and open a new menu to view the chan
</record>
<menuitem
name="Load an Official Translation"
action="action_view_base_language_install"
id="menu_view_base_language_install"
parent="menu_translation" sequence="2"/>
name="Load a Translation"
action="action_view_base_language_install"
id="menu_view_base_language_install"
parent="menu_translation" sequence="2"/>
</data>
</openerp>

View File

@ -8,10 +8,10 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="System Configuration Done" version="7.0">
<header>
<button special="cancel" string="_Ok"/>
</header>
<label string="All pending configuration wizards have been executed. You may restart individual wizards via the list of configuration wizards."/>
<footer>
<button string="Close" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>

View File

@ -7,41 +7,23 @@
<field name="model">base.module.import</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Import module">
<group col="8">
<group colspan="3" col="1">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label width="220" string='This wizard helps you to import a new module to your OpenERP system.
After importing a new module you can install it by clicking on the button "Install" from the form view.'/>
<label width="220"/>
<label width="220" string="Please be patient, this operation may take a few minutes..."/>
<field name="state" invisible="1"/>
</group>
<separator orientation="vertical" rowspan="5"/>
<group colspan="4">
<separator string="Module Import" colspan="4"/>
<group states="init" col="4">
<label string="Select module package to import (.zip file):" colspan="4"/>
<field name="module_file" colspan="4"/>
</group>
<group states="done" col="4">
<label string="Module file successfully imported!" colspan="4"/>
</group>
</group>
<group colspan="8" col="8" states="init">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="importzip" string="Import module" type="object" icon="gtk-apply"/>
</group>
<group colspan="8" col="8" states="done">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button special="cancel" string="Close" icon="gtk-ok"/>
<button name="action_module_open" string="Open Modules" type="object" icon="gtk-go-forward"/>
</group>
<form string="Import module" version="7.0">
<field name="state" invisible="1"/>
<separator string="Module Import" colspan="4"/>
<group states="init" col="4">
<label string="Select module package to import (.zip file):" colspan="4"/>
<field name="module_file" colspan="4"/>
</group>
<group states="done" col="4">
<label string="Module file successfully imported!" colspan="4"/>
</group>
<footer>
<button name="importzip" string="Import module" type="object" states="init" class="oe_highlight"/>
<label string="or" states="init"/>
<button name="action_module_open" string="Open Modules" type="object" states="done" class="oe_highlight"/>
<label string="or" states="done"/>
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>

View File

@ -8,11 +8,12 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Scan for new modules" version="7.0">
<header>
<button name="watch_dir" string="Check new modules" type="object" icon="gtk-ok"/>
<button special="cancel" string="Close" icon="gtk-cancel"/>
</header>
<label string="This function will check if you installed new modules in the 'addons' path of your server installation."/>
<footer>
<button name="watch_dir" string="Check new modules" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>

View File

@ -7,43 +7,29 @@
<field name="model">base.module.update</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Update Module List">
<group col="8">
<group colspan="3">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label colspan="4" width="220" string="This wizard will scan all module repositories on the server side to detect newly added modules as well as any change to existing modules."/>
<label colspan="4" width="220"/>
<label colspan="4" width="220" string="Please be patient, as this operation may take a few seconds..."/>
<field name="state" invisible="1"/>
</group>
<separator orientation="vertical" rowspan="15"/>
<group colspan="4">
<separator string="Module Update Result" colspan="4"/>
<group states="init" colspan="4">
<label string="Click on Update below to start the process..." colspan="4"/>
</group>
<group states="done" colspan="4">
<field name="update" colspan="4"/>
<field name="add" colspan="4"/>
</group>
</group>
<group colspan="8" col="8" states="init">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="update_module" string="Update" type="object" icon="gtk-ok"/>
</group>
<group colspan="8" col="8" states="done">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button special="cancel" string="Close" icon="gtk-ok"/>
<button name="action_module_open" string="Open Modules" type="object" icon="gtk-go-forward"/>
</group>
<form string="Update Module List" version="7.0">
<field name="state" invisible="1"/>
<separator string="Module Update Result"/>
<group states="init">
<label string="Click on Update below to start the process..." />
</group>
<group states="done" >
<field name="update"/>
<field name="add" />
</group>
<footer>
<div states="init">
<button name="update_module" string="Update" type="object" class="oe_highlight"/> or
<button special="cancel" string="Cancel" class="oe_link"/>
</div>
<div states="done">
<button name="action_module_open" string="Open Modules" type="object" class="oe_highlight"/> or
<button special="cancel" string="Close" class="oe_link"/>
</div>
</footer>
</form>
</field>
</record>
</record>
<record id="action_view_base_module_update" model="ir.actions.act_window">
<field name="name">Module Update</field>

View File

@ -46,14 +46,12 @@ class base_module_upgrade(osv.osv_memory):
ids = self.get_module_list(cr, uid, context=context)
if not ids:
res['arch'] = '''<form string="Apply Scheduled Upgrades" version="7.0">
res['arch'] = '''<form string="Apply Schedule Upgrade" version="7.0">
<header>
<button name="config" string="Start configuration" type="object" icon="gtk-ok"/>
<button special="cancel" string="Close" icon="gtk-cancel"/>
</header>
<separator string="System update completed" colspan="4"/>
<label align="0.0" string="The selected modules have been updated / installed !" colspan="4"/>
<label align="0.0" string="We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)." colspan="4"/>
<separator string="Apply Schedule Upgrade" colspan="4"/>
</form>'''
return res
@ -80,14 +78,14 @@ class base_module_upgrade(osv.osv_memory):
JOIN ir_module_module_dependency d ON (m.id = d.module_id)
LEFT JOIN ir_module_module m2 ON (d.name = m2.name)
WHERE m.id in %s and (m2.state IS NULL or m2.state IN %s)""",
(tuple(ids), ('uninstalled',)))
(tuple(ids), ('uninstalled',)))
unmet_packages = [x[0] for x in cr.fetchall()]
if unmet_packages:
raise osv.except_osv(_('Unmet dependency !'),
_('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages)))
ir_module.download(cr, uid, ids, context=context)
cr.commit() # save before re-creating cursor below
cr.commit() # save before re-creating cursor below
pooler.restart_pool(cr.dbname, update_module=True)

View File

@ -8,20 +8,21 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="System Update" version="7.0">
<header>
<button name="upgrade_module" string="Update" type="object" icon="gtk-go-forward"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
</header>
<label string="Your system will be updated."/>
<label string="Note that this operation might take a few minutes."/>
<div><label string="Your system will be updated."/></div>
<div><label string="Note that this operation might take a few minutes."/></div>
<separator string="Modules to Update"/>
<field name="module_info"/>
<footer>
<button name="upgrade_module" string="Update" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_view_base_module_upgrade" model="ir.actions.act_window">
<field name="name">Module Upgrade</field>
<field name="name">Apply Schedule Upgrade</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.module.upgrade</field>
<field name="view_type">form</field>
@ -43,13 +44,14 @@
<field name="type">form</field>
<field name="priority" eval="20"/>
<field name="arch" type="xml">
<form string="Apply Scheduled Upgrades" version="7.0">
<header>
<button name="config" string="Start configuration" type="object" icon="gtk-ok"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
</header>
<label string="The selected modules have been updated / installed !"/>
<label string="We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)."/>
<form string="Apply Schedule Upgrade" version="7.0">
<div><label string="The selected modules have been updated / installed !"/></div>
<div><label string="We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)."/></div>
<footer>
<button name="config" string="Start configuration" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>

View File

@ -6,25 +6,13 @@
<field name="model">base.update.translations</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Synchronize Terms">
<group col="8">
<group colspan="3">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label colspan="4" width="220" string="This wizard will detect new terms to translate in the application, so that you can then add translations manually or perform a complete export (as a template for a new language example)."/>
</group>
<separator orientation="vertical" rowspan="15"/>
<group colspan="4">
<separator string="Synchronize Translation" colspan="4"/>
<field name="lang" colspan="4"/>
</group>
<group colspan="8" col="8">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button icon="gtk-cancel" name="act_cancel" special="cancel" string="Cancel" type="object"/>
<button icon="gtk-ok" name="act_update" string="Update" type="object"/>
</group>
<form string="Synchronize Terms" version="7.0">
<group string="Synchronize Translation">
<field name="lang"/>
</group>
<footer>
<button name="act_cancel" special="cancel" string="Cancel" type="object"/>
</footer>
</form>
</field>
</record>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem id="menu_publisher_warranty" name="OpenERP Entreprise" parent="base.menu_administration" sequence="5"/>
<menuitem id="menu_publisher_warranty" name="OpenERP Enterprise" parent="base.menu_administration" sequence="5"
groups="base.group_no_one"/>
<record id="publisher_warranty_contract_tree_view" model="ir.ui.view">
<field name="name">publisher_warranty.contract.tree</field>
@ -23,30 +24,30 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Publisher Warranty Contract" version="7.0">
<header>
<button name="check_validity" string="Validate" type="object"
attrs="{'invisible':[('state','in',['valid', 'terminated', 'canceled'])]}"/>
<button name="check_validity" string="Refresh Validation Dates" type="object"
attrs="{'invisible':[('state','in',['unvalidated'])]}"/>
<button string="Cancel" class="oe_link" special="cancel" />
</header>
<sheet>
<group col="3" colspan="4">
<group col="2">
<group col="3">
<group>
<field name="name"/>
</group>
<group col="2">
<group>
<field name="date_start"/>
<field name="date_stop"/>
<field name="check_support"/>
</group>
<group col="2">
<group>
<field name="state"/>
<field name="kind"/>
<field name="check_opw"/>
</group>
<group col="2" colspan="3">
<button name="check_validity" icon="camera_test.png
" string="Validate" type="object"
attrs="{'invisible':[('state','in',['valid', 'terminated', 'canceled'])]}"/>
<button name="check_validity" icon="camera_test.png" string="Refresh Validation Dates" type="object"
attrs="{'invisible':[('state','in',['unvalidated'])]}"/>
</group>
</group>
</sheet>
</sheet>
</form>
</field>
</record>
@ -57,7 +58,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Publisher Warranty Contract">
<field name="name"/>
<field name="name" string="Serial Key"/>
<field name="date_start"/>
<field name="date_stop"/>
</search>
@ -92,39 +93,21 @@
<field name="model">publisher_warranty.contract.wizard</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Register a Contract">
<group colspan="4" col="8">
<group colspan="1">
<field name="config_logo" widget="image" width="220" height="130" nolabel="1" colspan="1"/>
<newline/>
<label colspan="4" width="220" string="This wizard helps you register a publisher warranty contract in your OpenERP system. After the contract has been registered, you will be able to send issues directly to OpenERP."/>
<label colspan="4" width="220"/>
<label colspan="4" width="220" string=""/>
<field name="state" invisible="1"/>
</group>
<separator orientation="vertical" rowspan="12" colspan="1"/>
<group colspan="6">
<separator string="Register a Contract" colspan="4"/>
<group states="draft" colspan="4">
<label string="Please enter the serial key provided in your contract document:" colspan="4"/>
<field name="name" colspan="4"/>
</group>
<group states="finished" colspan="4">
<label string="Publisher warranty contract successfully registered!" colspan="4"/>
</group>
</group>
<form string="Register a Contract" version="7.0">
<field name="state" invisible="1"/>
<separator string="Register a Contract"/>
<group states="draft">
<label string="Please enter the serial key provided in your contract document:" colspan="2"/>
<field name="name"/>
</group>
<group colspan="8" col="8" states="draft">
<separator string="" colspan="8"/>
<label colspan="6" width="220"/>
<button special="cancel" string="Cancel" icon="gtk-cancel" colspan="1"/>
<button name="action_validate" string="Register" type="object" icon="gtk-apply" colspan="1"/>
</group>
<group colspan="8" col="8" states="finished">
<separator string="" colspan="8"/>
<label colspan="7" width="220"/>
<button special="cancel" string="Close" icon="gtk-ok"/>
</group>
<group states="finished">
<label string="Publisher warranty contract successfully registered!" colspan="4"/>
</group>
<footer>
<button name="action_validate" string="Register" type="object" states="draft" class="oe_highlight"/>
<label string="or" states="draft"/>
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>

View File

@ -8,13 +8,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Parameters">
<field name="name" string="Name"/>
<filter icon="terp-project"
string="Generic"
help="Parameters that are used by all resources."
domain="[('res_id','=',False)]"/>
<separator orientation="vertical"/>
<field name="fields_id" />
<field name="name"/>
<field name="fields_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
@ -65,7 +64,6 @@
<field name="view_type">form</field>
<field name="view_id" ref="ir_property_view_tree"/>
</record>
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" groups="base.group_no_one" sequence="24"/>
<menuitem id="menu_ir_property_form_all" parent="menu_ir_property" action="ir_property_form"/>
</data>
</openerp>

View File

@ -35,7 +35,7 @@ class Bank(osv.osv):
'state': fields.many2one("res.country.state", 'Fed. State',
domain="[('country_id', '=', country)]"),
'country': fields.many2one('res.country', 'Country'),
'email': fields.char('E-Mail', size=64),
'email': fields.char('Email', size=64),
'phone': fields.char('Phone', size=64),
'fax': fields.char('Fax', size=64),
'active': fields.boolean('Active'),
@ -172,6 +172,17 @@ class res_partner_bank(osv.osv):
('required', field.required)]
return res
def _prepare_name_get(self, cr, uid, bank_type_obj, bank_obj, context=None):
"""
Format the name of a res.partner.bank.
This function is designed to be inherited to add replacement fields.
:param browse_record bank_type_obj: res.partner.bank.type object
:param browse_record bank_obj: res.partner.bank object
:rtype: str
:return: formatted name of a res.partner.bank record
"""
return bank_type_obj.format_layout % bank_obj._data[bank_obj.id]
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
return []
@ -187,7 +198,7 @@ class res_partner_bank(osv.osv):
# avoid the default format_layout to result in "False: ..."
if not val._data[val.id]['bank_name']:
val._data[val.id]['bank_name'] = _('BANK')
result = t.format_layout % val._data[val.id]
result = self._prepare_name_get(cr, uid, t, val, context=context)
except:
result += ' [Formatting Error]'
raise

View File

@ -20,8 +20,8 @@
<field name="street" placeholder="Street..."/>
<field name="street2"/>
<div>
<field name="zip" class="oe_form_inline" placeholder="ZIP"/>
<field name="city" class="oe_form_inline" placeholder="City"/>
<field name="zip" class="oe_inline" placeholder="ZIP"/>
<field name="city" class="oe_inline" placeholder="City"/>
</div>
<field name="state" placeholder="State"/>
<field name="country" placeholder="Country"/>
@ -102,12 +102,17 @@
<group>
<group name="owner" string="Bank Account Owner">
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="owner_name"/>
<field name="street"/>
<field name="city"/>
<field name="zip"/>
<field name="country_id"/>
<field name="state_id"/>
<label for="street" string="Address"/>
<div>
<field name="owner_name" placeholder="Name"/>
<field name="street" placeholder="Street"/>
<div>
<field name="zip" class="oe_inline" placeholder="ZIP"/>
<field name="city" class="oe_inline" placeholder="City"/>
</div>
<field name="state_id" placeholder="State"/>
<field name="country_id" placeholder="Country"/>
</div>
</group>
<group name="bank" string="Information About the Bank">
<field name="bank" on_change="onchange_bank_id(bank)"/>
@ -140,12 +145,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Bank Accounts">
<field name="bank_name" filter_domain="['|', ('bank_name','ilike',self), ('acc_number','ilike',self)]" string="Bank Name"/>
<filter name="my_bank" icon="terp-check" string="My Banks" domain="[('company_id','&lt;&gt;',False)]" help="Bank accounts belonging to one of your companies"/>
<separator orientation="vertical"/>
<field name="acc_number"/>
<field name="company_id" invisible="context.get('company_hide', True)"/>
<field name="partner_id"/>
<field name="bank_name"/>
</search>
</field>
</record>

View File

@ -23,6 +23,7 @@ from osv import osv
from osv import fields
import os
import tools
import openerp
from tools.translate import _
from tools.safe_eval import safe_eval as eval
@ -80,9 +81,9 @@ class res_company(osv.osv):
for company in self.browse(cr, uid, ids, context=context):
result[company.id] = {}.fromkeys(field_names, False)
if company.partner_id:
address_data = part_obj.address_get(cr, uid, [company.partner_id.id], adr_pref=['default'])
address_data = part_obj.address_get(cr, openerp.SUPERUSER_ID, [company.partner_id.id], adr_pref=['default'])
if address_data['default']:
address = part_obj.read(cr, uid, address_data['default'], field_names, context=context)
address = part_obj.read(cr, openerp.SUPERUSER_ID, address_data['default'], field_names, context=context)
for field in field_names:
result[company.id][field] = address[field] or False
return result
@ -107,29 +108,29 @@ class res_company(osv.osv):
'parent_id': fields.many2one('res.company', 'Parent Company', select=True),
'child_ids': fields.one2many('res.company', 'parent_id', 'Child Companies'),
'partner_id': fields.many2one('res.partner', 'Partner', required=True),
'rml_header1': fields.char('Report Header / Company Slogan', size=200, help="Appears by default on the top right corner of your printed documents."),
'rml_header1': fields.char('Company Slogan', size=200, help="Appears by default on the top right corner of your printed documents (report header)."),
'rml_footer1': fields.char('General Information Footer', size=200),
'rml_footer2': fields.char('Bank Accounts Footer', size=250, help="Write here your bank accounts for customer payments."),
'rml_header': fields.text('RML Header', required=True),
'rml_header2': fields.text('RML Internal Header', required=True),
'rml_header3': fields.text('RML Internal Header', required=True),
'rml_header3': fields.text('RML Internal Header for Landscape Reports', required=True),
'logo': fields.related('partner_id', 'photo', string="Logo", type="binary"),
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency'),
'user_ids': fields.many2many('res.users', 'res_company_users_rel', 'cid', 'user_id', 'Accepted Users'),
'account_no':fields.char('Account No.', size=64),
'street': fields.function(_get_address_data, fnct_inv=_set_address_data, size=128, type='char', string="Street", multi='address'),
'street2': fields.function(_get_address_data, fnct_inv=_set_address_data, size=128, type='char', string="Street2", multi='address'),
'zip': fields.function(_get_address_data, fnct_inv=_set_address_data, size=24, type='char', string="Zip", multi='address'),
'city': fields.function(_get_address_data, fnct_inv=_set_address_data, size=24, type='char', string="City", multi='address'),
'state_id': fields.function(_get_address_data, fnct_inv=_set_address_data, type='many2one', domain="[('country_id', '=', country_id)]", relation='res.country.state', string="Fed. State", multi='address'),
'street': fields.function(_get_address_data, fnct_inv=_set_address_data, size=128, type='char', string="Street", multi='address'),
'street2': fields.function(_get_address_data, fnct_inv=_set_address_data, size=128, type='char', string="Street2", multi='address'),
'zip': fields.function(_get_address_data, fnct_inv=_set_address_data, size=24, type='char', string="Zip", multi='address'),
'city': fields.function(_get_address_data, fnct_inv=_set_address_data, size=24, type='char', string="City", multi='address'),
'state_id': fields.function(_get_address_data, fnct_inv=_set_address_data, type='many2one', domain="[('country_id', '=', country_id)]", relation='res.country.state', string="Fed. State", multi='address'),
'bank_ids': fields.one2many('res.partner.bank','company_id', 'Bank Accounts', help='Bank accounts related to this company'),
'country_id': fields.function(_get_address_data, fnct_inv=_set_address_data, type='many2one', relation='res.country', string="Country", multi='address'),
'email': fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', string="Email", multi='address'),
'phone': fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', string="Phone", multi='address'),
'fax': fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', string="Fax", multi='address'),
'website': fields.related('partner_id', 'website', string="Website", type="char", size=64),
'vat': fields.related('partner_id', 'vat', string="Tax ID", type="char", size=32),
'country_id': fields.function(_get_address_data, fnct_inv=_set_address_data, type='many2one', relation='res.country', string="Country", multi='address'),
'email': fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', string="Email", multi='address'),
'phone': fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', string="Phone", multi='address'),
'fax': fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', string="Fax", multi='address'),
'website': fields.related('partner_id', 'website', string="Website", type="char", size=64),
'vat': fields.related('partner_id', 'vat', string="Tax ID", type="char", size=32),
'company_registry': fields.char('Company Registry', size=64),
'paper_format': fields.selection([('a4', 'A4'), ('us_letter', 'US Letter')], "Paper Format", required=True),
}

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<menuitem id="menu_res_company_global" parent="base.menu_administration" name="Companies" sequence="2"/>
<menuitem id="menu_res_company_global" parent="base.menu_administration" name="Companies" sequence="2"
groups="base.group_no_one"/>
<menuitem id="menu_custom_multicompany" parent="base.menu_custom" name="Multi-Companies" sequence="50"/>
@ -20,20 +21,26 @@
<field name="arch" type="xml">
<form string="Company" version="7.0">
<sheet>
<div class="oe_right oe_form_avatar">
<div class="oe_right oe_avatar">
<field name="logo" nolabel="1" widget="image"/>
</div>
<div class="oe_right oe_form_button_box">
<button name="%(preview_report)d" string="Preview Header/Footer" type="action" icon="gtk-print"/>
<div class="oe_right oe_button_box" name="button_box">
<button name="%(preview_report)d" string="Preview Header/Footer" type="action" icon="gtk-print" class="oe_inline oe_right"/>
</div>
<div class="oe_form_title">
<label for="name" class="oe_form_readonly_hidden"/>
<h1><field name="name"/></h1>
<group col="4">
<field name="partner_id" readonly="1" required="0" groups="base.group_no_one"/>
<field name="parent_id" groups="base.group_multi_company"/>
</group>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name" class="oe_inline"/>
</h1>
<label for="rml_header1" class="oe_edit_only"/>
<div>
<field name="rml_header1" placeholder="Global Business Solutions"/>
</div>
</div>
<group col="4">
<field name="partner_id" readonly="1" required="0" groups="base.group_no_one"/>
<field name="parent_id" groups="base.group_multi_company"/>
</group>
<notebook colspan="4">
<page string="General Information">
<group>
@ -43,40 +50,38 @@
<field name="street" placeholder="Street..."/>
<field name="street2"/>
<div>
<field name="zip" class="oe_form_inline" placeholder="ZIP"/>
<field name="city" class="oe_form_inline" placeholder="City"/>
<field name="city" placeholder="City" style="width: 40%%"/>
<field name="state_id" class="oe_no_button" placeholder="State" style="width: 24%%"/>
<field name="zip" placeholder="ZIP" style="width: 34%%"/>
</div>
<field name="state_id" placeholder="State"/>
<field name="country_id" placeholder="Country"/>
<field name="country_id" placeholder="Country" class="oe_no_button"/>
</div>
<field name="website" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
<field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
</group>
<group>
<field name="phone" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
<field name="email" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
<field name="fax" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
<field name="email" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
<field name="vat" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
<field name="company_registry" on_change="on_change_header(phone, email, fax, website, vat, company_registry)"/>
</group>
</group>
<separator string="Header/Footer of Reports"/>
<group>
<field name="rml_header1" placeholder="Global Business Solutions"/>
<field name="rml_footer1" groups="base.group_no_one"/>
<group string="Bank Accounts">
<field name="bank_ids" colspan="4" nolabel="1"/>
<label for="rml_footer2"/>
<div>
<div name="bank_acc">
<field name="rml_footer2"/>
<button name="%(bank_account_update)d" string="Set Bank Accounts" type="action" icon="gtk-go-forward"/>
<!--<button name="%(bank_account_update)d" string="Set Bank Accounts" type="action" icon="gtk-go-forward" class="oe_inline"/>-->
</div>
</group>
</page>
<page string="Header/Footer" groups="base.group_no_one">
<group>
<field name="paper_format" on_change="onchange_paper_format(paper_format)"/>
<field name="rml_header"/>
<field name="rml_footer1"/>
</group>
</page>
<page string="Internal Header/Footer" groups="base.group_no_one">
<label for="rml_header"/>
<field name="rml_header"/>
<label for="rml_header2"/>
<field name="rml_header2"/>
<label for="rml_header3"/>
@ -84,12 +89,11 @@
</page>
<page string="Configuration">
<group>
<field name="currency_id"/>
<group name="account_grp" string="Accounting">
<field name="currency_id"/>
</group>
</group>
</page>
<page string="Bank Accounts">
<field name="bank_ids"/>
</page>
</notebook>
</sheet>
</form>
@ -149,17 +153,18 @@
<field name="arch" type="xml">
<form string="Multi Company" version="7.0">
<sheet>
<group col="6" colspan="4">
<field name="name" colspan="6"/>
<separator string="Matching" colspan="6"/>
<field name="company_id"/>
<field name="object_id"/>
<field name="field_id" domain="[('model_id','=',object_id)]"/>
<separator string="Condition" colspan="6"/>
<field name="expression" colspan="4"/>
<field name="sequence"/>
<separator string="Returning" colspan="6"/>
<field name="company_dest_id"/>
<group>
<group>
<field name="name"/>
<field name="company_id"/>
<field name="company_dest_id"/>
</group>
<group>
<field name="object_id"/>
<field name="field_id" domain="[('model_id','=',object_id)]"/>
<field name="expression"/>
<field name="sequence"/>
</group>
</group>
</sheet>
</form>
@ -172,9 +177,9 @@
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Multi Company">
<field name="name"/>
<field name="company_id" widget="selection"/>
<field name="company_dest_id" widget="selection"/>
<field name="name" string="Name"/>
<field name="company_id"/>
<field name="company_dest_id"/>
<field name="object_id"/>
</search>
</field>

View File

@ -70,10 +70,14 @@ class res_config_configurable(osv.osv_memory):
res = next.action_launch(context=context)
res['nodestroy'] = False
return res
#if there is no next action and if html is in the context: reload instead of closing
if context and 'html' in context:
return {'type' : 'ir.actions.reload'}
return {'type' : 'ir.actions.act_window_close'}
# reload the client; open the first available root menu
menu_obj = self.pool.get('ir.ui.menu')
menu_ids = menu_obj.search(cr, uid, [('parent_id', '=', False)], context=context)
return {
'type': 'ir.actions.client',
'tag': 'reload',
'params': {'menu_id': menu_ids and menu_ids[0] or False},
}
def start(self, cr, uid, ids, context=None):
return self.next(cr, uid, ids, context)
@ -496,15 +500,6 @@ class res_config_settings(osv.osv_memory):
return res
def fields_get(self, cr, uid, allfields=None, context=None, write_access=True):
# overridden to make fields of installed modules readonly
res = super(res_config_settings, self).fields_get(cr, uid, allfields, context, write_access)
classified = self._get_classified_fields(cr, uid, context)
for name, module in classified['module']:
if name in res and module.state in ('installed', 'to install', 'to upgrade'):
res[name]['readonly'] = True
return res
def execute(self, cr, uid, ids, context=None):
ir_values = self.pool.get('ir.values')
ir_model_data = self.pool.get('ir.model.data')
@ -531,13 +526,18 @@ class res_config_settings(osv.osv_memory):
if method.startswith('set_'):
getattr(self, method)(cr, uid, ids, context)
# module fields: install immediately the selected modules
# module fields: install/uninstall the selected modules
to_install_ids = []
to_uninstall_ids = []
for name, module in classified['module']:
if config[name] and module.state == 'uninstalled':
to_install_ids.append(module.id)
if to_install_ids:
ir_module.button_immediate_install(cr, uid, to_install_ids, context)
if config[name]:
if module.state == 'uninstalled': to_install_ids.append(module.id)
else:
if module.state in ('installed','upgrade'): to_uninstall_ids.append(module.id)
if to_install_ids or to_uninstall_ids:
ir_module.button_uninstall(cr, uid, to_uninstall_ids, context=context)
ir_module.button_immediate_install(cr, uid, to_install_ids, context=context)
# force client-side reload (update user menu and current view)
return {
@ -545,4 +545,12 @@ class res_config_settings(osv.osv_memory):
'tag': 'reload',
}
def cancel(self, cr, uid, ids, context=None):
# ignore the current record, and send the action to reopen the view
act_window = self.pool.get('ir.actions.act_window')
action_ids = act_window.search(cr, uid, [('res_model', '=', self._name)])
if action_ids:
return act_window.read(cr, uid, action_ids[0], [], context=context)
return {}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,53 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="res_config_view_base" model="ir.ui.view">
<field name="name">res.config.view.base</field>
<field name="model">res.config</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form version="7.0">
<header>
<button name="action_skip" icon="gtk-jump-to" special="cancel"
type="object" string="Cancel" colspan="1"/>
<button name="action_next" icon="gtk-go-forward"
type="object" string="Apply" colspan="1"/>
</header>
<group string="res_config_contents" col="4"/>
</form>
</field>
</record>
<data>
<record id="view_config_wizard_form" model="ir.ui.view">
<field name="name">Compabitiliby configuration wizard</field>
<field name="model">ir.actions.configuration.wizard</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Next Configuration Step" version="7.0">
<header>
<button name="action_next" icon="gtk-go-forward"
type="object" string="Continue"/>
</header>
<field name="note"/>
</form>
</field>
</record>
<record id="res_config_view_base" model="ir.ui.view">
<field name="name">res.config.view.base</field>
<field name="model">res.config</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form version="7.0">
<group string="res_config_contents"/>
<footer>
<button name="action_next" type="object" string="Apply" class="oe_highlight"/>
or
<button name="action_skip" type="object" special="cancel" string="Cancel" class="oe_link"/>
</footer>
</form>
</field>
</record>
<record id="res_config_installer" model="ir.ui.view">
<field name="name">Inheritable view for installer objects</field>
<field name="model">res.config.installer</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form version="7.0">
<header>
<button name="action_skip" icon="gtk-jump-to" special="cancel"
type="object" string="Cancel" colspan="1"/>
<button name="action_next" icon="gtk-go-forward"
type="object" string="Install Modules" colspan="1"/>
</header>
<separator string="title" colspan="4"/>
</form>
</field>
</record>
<record id="view_config_wizard_form" model="ir.ui.view">
<field name="name">Compabitiliby configuration wizard</field>
<field name="model">ir.actions.configuration.wizard</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Next Configuration Step" version="7.0">
<group>
<field name="note"/>
</group>
<footer>
<button name="action_next" type="object" string="Continue" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>
</data>
<record id="res_config_installer" model="ir.ui.view">
<field name="name">Inheritable view for installer objects</field>
<field name="model">res.config.installer</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form version="7.0">
<separator string="title" colspan="4"/>
<footer>
<button name="action_next" type="object" string="Install Modules" class="oe_highlight"/>
or
<button string="Skip" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>
</data>
</openerp>

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