HDA (OpenERP)
2010-04-22 11:28:50 +05:30
98 changed files with 369 additions and 329 deletions
+1 -1
View File
@@ -336,7 +336,7 @@ def upgrade_graph(graph, cr, module_list, force=None):
for module in module_list:
mod_path = get_module_path(module)
terp_file = get_module_resource(module, '__openerp__.py')
if not os.path.isfile(terp_file):
if not terp_file or not os.path.isfile(terp_file):
terp_file = get_module_resource(module, '__terp__.py')
if not mod_path or not terp_file:
+1 -1
View File
@@ -30,8 +30,8 @@
'depends': [],
'init_xml': [
'base_data.xml',
'base_menu.xml',
'security/base_security.xml',
'base_menu.xml',
'res/res_security.xml',
'res/res_config.xml',
'maintenance/maintenance_security.xml',
+5 -5
View File
@@ -1000,7 +1000,7 @@
</record>
<record id="main_partner" model="res.partner">
<field name="name">Tiny sprl</field>
<field name="name">OpenERP S.A.</field>
<!-- Company ID will be set later -->
<field name="company_id" eval="None"/>
</record>
@@ -1034,17 +1034,17 @@
<!-- Basic Company -->
<record id="main_company" model="res.company">
<field name="name">Tiny sprl</field>
<field name="name">OpenERP S.A.</field>
<field name="partner_id" ref="main_partner"/>
<field name="rml_header1">Free Business Solutions</field>
<field name="rml_footer1">Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701</field>
<field name="rml_footer1">Web: http://www.openerp.com - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: CPHBBE75 - VAT: BE0477.472.701</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<assert id="main_company" model="res.company">
<test expr="currency_id.code == 'eur'.upper()"/>
<test expr="name">Tiny sprl</test>
<test expr="name">OpenERP S.A.</test>
</assert>
<record id="user_admin" model="res.users">
<field name="company_id" ref="main_company"/>
+14 -6
View File
@@ -2,17 +2,25 @@
<openerp>
<data>
<menuitem icon="terp-administration" id="menu_administration" name="Administration" sequence="20"/>
<menuitem id="custom_shortcuts" name="Custom Shortcuts" parent="base.menu_administration" sequence="20"/>
<menuitem id="next_id_4" name="Low Level Objects" parent="base.menu_administration" sequence="3"/>
<menuitem id="next_id_4" name="Low Level Objects"
parent="base.menu_administration" sequence="3"
groups="base.group_extended"/>
<menuitem id="menu_low_workflow" name="Workflow Items" parent="base.next_id_4"/>
<menuitem id="menu_custom" name="Customization" parent="base.menu_administration" sequence="2"/>
<menuitem id="menu_custom" name="Customization"
parent="base.menu_administration" sequence="2"
groups="base.group_extended"/>
<menuitem id="menu_custom_action" name="Actions" parent="base.menu_custom" sequence="20"/>
<menuitem id="menu_config" name="Configuration" parent="base.menu_administration" sequence="1"/>
<menuitem id="menu_translation" name="Translations" parent="base.menu_administration" sequence="4"/>
<menuitem id="menu_translation_app" name="Application Terms" parent="base.menu_translation" sequence="4"/>
<menuitem id="menu_translation_export" name="Import / Export" parent="base.menu_translation" sequence="4"/>
<menuitem id="menu_translation_export" name="Import / Export"
groups="base.group_extended"
parent="base.menu_translation" sequence="4"/>
<menuitem id="menu_users" name="Users" parent="base.menu_administration" sequence="6"/>
<menuitem id="menu_security" name="Security" parent="base.menu_administration" sequence="8"/>
<menuitem id="menu_management" name="Modules Management" parent="base.menu_administration" sequence="10"/>
<menuitem id="menu_security" name="Security" parent="base.menu_administration" sequence="8"
groups="base.group_extended"/>
<menuitem id="menu_management" name="Modules Management" parent="base.menu_administration" sequence="10"
groups="base.group_extended"/>
</data>
</openerp>
+31 -33
View File
@@ -76,20 +76,20 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<form string="Users">
<notebook colspan="4">
<page string="Current Activity">
<field name="company_id" widget="selection" readonly="0" context="{'user_prefence':True}"/>
<newline/>
<separator colspan="4" string="Preferences"/>
</page>
<page string="Preferences">
<field name="password" password="True" readonly="0"/>
<label colspan="4" string="Please note that you will have to logout and relog if you change your password."/>
<field name="context_lang" completion="1" readonly="0"/>
<field name="context_tz" completion="1" readonly="0" colspan="4"/>
<newline/>
<field colspan="4" name="signature" readonly="0"/>
</page>
<notebook colspan="4">
<page string="Current Activity">
<field name="company_id" widget="selection" readonly="0" context="{'user_prefence':True}"/>
<newline/>
<separator colspan="4" string="Preferences"/>
</page>
<page string="Preferences">
<field name="password" password="True" readonly="0"/>
<label colspan="4" string="Please note that you will have to logout and relog if you change your password."/>
<field name="context_lang" completion="1" readonly="0"/>
<field name="context_tz" completion="1" readonly="0" colspan="4"/>
<newline/>
<field colspan="4" name="signature" readonly="0"/>
</page>
</notebook>
</form>
</field>
@@ -113,10 +113,14 @@
<field domain="[('usage','=','menu')]" name="menu_id" required="True"/>
<field name="context_lang"/>
<field name="context_tz"/>
<field colspan="4" name="signature"/>
</page>
<page string="Groups">
<field colspan="4" nolabel="1" name="groups_id"/>
<group colspan="2" col="2">
<separator string="Signature" colspan="2"/>
<field colspan="2" name="signature" nolabel="1"/>
</group>
<group colspan="2" col="2">
<separator string="Access Rights (groups)" colspan="2"/>
<field colspan="2" nolabel="1" name="groups_id"/>
</group>
</page>
<page string="Roles">
<field colspan="4" nolabel="1" name="roles_id"/>
@@ -165,9 +169,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Company">
<field colspan="4" name="name" select="1"/>
<field name="partner_id" select="1"/>
<field name="parent_id" select="1"/>
<group colspan="4" col="6">
<field colspan="4" name="name" select="1"/>
<field name="partner_id" select="1"/>
<field name="parent_id" select="1" groups="base.group_multi_company"/>
</group>
<notebook colspan="4">
<page string="General Information">
<field name="rml_header1" colspan="4"/>
@@ -177,13 +183,10 @@
<separator colspan="4" string="Your Logo - Use a size of about 450x150 pixels."/>
<field colspan="4" name="logo" widget="image"/>
</page>
<page string="Currency">
<field name="currency_ids" colspan="4" nolabel="1"/>
</page>
<page string="Header/Footer">
<page string="Header/Footer" groups="base.group_extended">
<field colspan="4" name="rml_header" nolabel="1"/>
</page>
<page string="Internal Header/Footer">
<page string="Internal Header/Footer" groups="base.group_extended">
<field colspan="4" name="rml_header2" nolabel="1"/>
</page>
<page string="Configuration">
@@ -307,17 +310,12 @@
<field name="target">new</field>
</record>
<!-- register on configuratuion -->
</data>
<data noupdate="1">
<record id="config_wizard_step_user" model="ir.actions.todo">
<field name="action_id" ref="action_config_user_form"/>
<field name="sequence">10</field>
<field name="restart">never</field>
<field name="state">done</field>
</record>
<record id="config_wizard_simple_view" model="ir.actions.todo">
<field name="action_id" ref="action_config_simple_view_form"/>
<field name="sequence">1</field>
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-10 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+4 -4
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-04-01 04:11+0000\n"
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
"PO-Revision-Date: 2010-04-21 04:53+0000\n"
"Last-Translator: OpenERP Administrators <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: 2010-04-02 03:41+0000\n"
"X-Launchpad-Export-Date: 2010-04-22 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -58,7 +58,7 @@ msgstr "Код"
#: field:workflow.activity,wkf_id:0
#: field:workflow.instance,wkf_id:0
msgid "Workflow"
msgstr "Последователност от действия"
msgstr "Работен поток"
#. module: base
#: view:wizard.module.lang.export:0
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-08 04:44+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-08 04:44+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -12,7 +12,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-08 04:44+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-20 04:42+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -9,7 +9,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-12 03:52+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-Language: Persian\n"
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-26 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-22 04:34+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+2 -2
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-04-14 04:19+0000\n"
"PO-Revision-Date: 2010-04-21 04:38+0000\n"
"Last-Translator: goranc <goranc@gmail.com>\n"
"Language-Team: openerp-translators\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-15 03:58+0000\n"
"X-Launchpad-Export-Date: 2010-04-22 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Language: hr\n"
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-31 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:50+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+2 -2
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-04-14 04:26+0000\n"
"PO-Revision-Date: 2010-04-21 04:43+0000\n"
"Last-Translator: Harry (Open ERP) <hmo@tinyerp.com>\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: 2010-04-15 03:58+0000\n"
"X-Launchpad-Export-Date: 2010-04-22 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-12 04:50+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:51+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-20 04:42+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-14 03:49+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-09 05:10+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-26 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-18 04:34+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-10 04:43+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-12 04:50+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:49+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:47+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+2 -2
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-04-14 04:23+0000\n"
"PO-Revision-Date: 2010-04-21 04:48+0000\n"
"Last-Translator: Anders Wallenquist <anders.wallenquist@vertel.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: 2010-04-15 03:58+0000\n"
"X-Launchpad-Export-Date: 2010-04-22 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-08 04:45+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+2 -2
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-04-14 04:22+0000\n"
"PO-Revision-Date: 2010-04-21 04:41+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-15 03:58+0000\n"
"X-Launchpad-Export-Date: 2010-04-22 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+2 -2
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-04-14 04:23+0000\n"
"PO-Revision-Date: 2010-04-21 04:46+0000\n"
"Last-Translator: OpenERP Administrators <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: 2010-04-15 03:58+0000\n"
"X-Launchpad-Export-Date: 2010-04-22 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-25 04:50+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
+50 -31
View File
@@ -106,9 +106,9 @@
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="company_id"/>
<field name="active" select="2"/>
<field name="active" groups="base.group_extended"/>
</group>
<notebook>
<notebook colspan="4">
<page string="Sequence">
<field name="prefix"/>
<field name="suffix"/>
@@ -191,7 +191,9 @@
<field name="view_mode">tree,form</field>
<field eval="False" name="view_id"/>
</record>
<menuitem action="ir_sequence_type" id="menu_ir_sequence_type" parent="base.next_id_5"/>
<menuitem action="ir_sequence_type" id="menu_ir_sequence_type"
groups="base.group_extended"
parent="base.next_id_5"/>
<!-- Actions -->
@@ -434,6 +436,7 @@
<menuitem id="menu_res_company_global"
parent="base.menu_administration"
name="Companies"
groups="base.group_multi_company"
sequence="5"/>
<record id="action_res_company_tree" model="ir.actions.act_window">
@@ -443,8 +446,10 @@
<field name="domain">[('parent_id','=',False)]</field>
<field name="view_type">tree</field>
</record>
<menuitem action="action_res_company_tree" id="menu_action_res_company_tree" parent="base.menu_res_company_global" sequence="16"/>
<menuitem action="action_res_company_tree"
groups="base.group_multi_company"
id="menu_action_res_company_tree" parent="base.menu_res_company_global"
sequence="16"/>
<record id="action_res_company_form" model="ir.actions.act_window">
<field name="name">Companies</field>
<field name="type">ir.actions.act_window</field>
@@ -534,7 +539,9 @@
<field name="view_type">tree</field>
<field eval="[('parent_id','=',False)]" name="domain"/>
</record>
<menuitem action="action_res_roles" id="menu_action_res_roles" parent="base.menu_users"/>
<menuitem action="action_res_roles"
groups="base.group_extended"
id="menu_action_res_roles" parent="base.menu_users"/>
<record id="action_res_roles_form" model="ir.actions.act_window">
<field name="name">Roles</field>
@@ -914,18 +921,35 @@
<!-- Translations -->
<record id="view_translation_search" model="ir.ui.view">
<field name="name">Translations</field>
<field name="model">ir.translation</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Translations">
<filter icon="terp-project"
string="Untranslated"
domain="['|',('value', '=', False),('value','=','')]"/>
<separator orientation="vertical"/>
<field name="lang" select="1"/>
<field name="src" select="1"/>
<field name="value" select="1"/>
</search>
</field>
</record>
<record id="view_translation_form" model="ir.ui.view">
<field name="name">Translations</field>
<field name="model">ir.translation</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Translations">
<field name="name" select="2"/>
<field name="res_id" select="2"/>
<field name="type" select="2"/>
<field name="lang" select="1"/>
<field name="src" select="1"/>
<field name="value" select="1"/>
<field name="name"/>
<field name="res_id"/>
<field name="type"/>
<field name="lang"/>
<field name="src"/>
<field name="value"/>
</form>
</field>
</record>
@@ -945,20 +969,12 @@
</record>
<record id="action_translation" model="ir.actions.act_window">
<field name="name">All terms</field>
<field name="name">Translation Terms</field>
<field name="res_model">ir.translation</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_translation_tree"/>
</record>
<menuitem action="action_translation" id="menu_action_translation" parent="base.menu_translation_app"/>
<record id="action_translation_untrans" model="ir.actions.act_window">
<field name="name">Untranslated terms</field>
<field name="res_model">ir.translation</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_translation_tree"/>
<field name="domain">['|',('value', '=', False),('value','=','')]</field>
</record>
<menuitem action="action_translation_untrans" id="menu_action_translation_untrans" parent="menu_action_translation"/>
<!--
=============================================================
@@ -995,7 +1011,7 @@
<field name="type">tree</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree string="Menu" editable="top">
<tree string="Menu">
<field name="sequence"/>
<field icon="icon" name="complete_name" string="Menu"/>
</tree>
@@ -1230,6 +1246,7 @@
<field name="model_id" select="1"/>
<field name="state" select="1"/>
<field name="sequence" select="2"/>
<field name="condition"/>
</group>
<notebook colspan="4">
<page string="Python Code" attrs="{'invisible':[('state','!=','code')]}">
@@ -1353,7 +1370,6 @@
<field name="sequence"/>
<field name="action_id" select="1"/>
<field name="state"/>
<field name="active" select="2" invisible="True"/>
</tree>
</field>
</record>
@@ -1365,28 +1381,31 @@
<form editable="bottom" string="Config Wizard Steps">
<field name="sequence"/>
<field name="action_id" select="1"/>
<field name="restart"/>
<field name="state"/>
<field name="active" select="2"/>
</form>
</field>
</record>
<record id="act_ir_actions_todo_form" model="ir.actions.act_window">
<field name="name">Config Wizard Steps</field>
<field name="name">List of Configuration Wizards</field>
<field name="res_model">ir.actions.todo</field>
<field name="view_id" ref="ir_actions_todo_tree"/>
<field name="view_type">form</field>
</record>
<menuitem id="next_id_11" name="Configuration Wizards" parent="base.menu_config" sequence="1"/>
<menuitem action="act_ir_actions_todo_form" id="menu_ir_actions_todo_form" parent="next_id_11"/>
<menuitem action="act_ir_actions_todo_form" id="menu_ir_actions_todo_form" parent="next_id_11"
groups="base.group_extended"/>
<record id="action_start_configurator" model="ir.actions.server">
<field name="name">Start Configuration</field>
<field name="name">Launch Configuration Wizards</field>
<field name="model_id" ref="model_res_config"/>
<field name="state">code</field>
<field name="code">action = self.next(cr, uid, [])</field>
<field name="code">action = self.start(cr, uid, [])</field>
</record>
<menuitem action="action_start_configurator" name="Start Configuration"
id="menu_configurator_module" parent="next_id_11"
type="server"/>
<menuitem
action="action_start_configurator" name="Start Configuration"
id="menu_configurator_module" parent="next_id_11"
type="server"/>
</data>
</openerp>
+5 -4
View File
@@ -721,10 +721,11 @@ class act_window_close(osv.osv):
act_window_close()
# This model use to register action services.
TODO_STATES = [('open', 'Not Started'),
TODO_STATES = [('open', 'To Do'),
('done', 'Done'),
('skip','Skipped'),
('cancel','Cancel')]
class ir_actions_todo(osv.osv):
_name = 'ir.actions.todo'
_columns={
@@ -732,17 +733,17 @@ class ir_actions_todo(osv.osv):
'ir.actions.act_window', 'Action', select=True, required=True,
ondelete='cascade'),
'sequence': fields.integer('Sequence'),
'active': fields.boolean('Active'),
'state': fields.selection(TODO_STATES, string='State', required=True),
'name':fields.char('Name', size=64),
'restart': fields.selection([('onskip','On Skip'),('always','Always'),('never','Never')],'Restart',required=True),
'note':fields.text('Text', translate=True),
}
_defaults={
'state': lambda *a: 'open',
'sequence': lambda *a: 10,
'active': lambda *a: True,
'restart': lambda *a: 'always',
}
_order="sequence"
_order="sequence,id"
ir_actions_todo()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+6 -2
View File
@@ -99,8 +99,12 @@ class ir_model(osv.osv):
pass
x_custom_model._name = model
x_custom_model._module = False
x_custom_model.createInstance(self.pool, '', cr)
x_custom_model._rec_name = 'x_name'
a = x_custom_model.createInstance(self.pool, '', cr)
if (not a._columns) or ('x_name' in a._columns.keys()):
x_name = 'x_name'
else:
x_name = a._columns.keys()[0]
x_custom_model._rec_name = x_name
ir_model()
+1 -1
View File
@@ -46,7 +46,7 @@ class ir_sequence(osv.osv):
'suffix': fields.char('Suffix',size=64),
'number_next': fields.integer('Next Number', required=True),
'number_increment': fields.integer('Increment Number', required=True),
'padding' : fields.integer('Number padding', required=True),
'padding' : fields.integer('Number padding', required=True, help="OpenERP will automatically adds some '0' on the left of the 'Next Number' to get the required padding size."),
'company_id': fields.many2one('res.company', 'Company'),
}
_defaults = {
+2 -4
View File
@@ -68,8 +68,6 @@ class ir_ui_menu(osv.osv):
if context is None:
context = {}
ids = osv.orm.orm.search(self, cr, uid, args, offset, limit, order, context=context, count=(count and uid==1))
if uid==1:
return ids
if not ids:
if count:
@@ -85,8 +83,8 @@ class ir_ui_menu(osv.osv):
if key in self._cache:
if self._cache[key]:
result.append(menu.id)
elif not menu.groups_id and not menu.action:
result.append(menu.id)
#elif not menu.groups_id and not menu.action:
# result.append(menu.id)
continue
self._cache[key] = False
-17
View File
@@ -76,23 +76,6 @@ class view(osv.osv):
(_check_xml, 'Invalid XML for View Architecture!', ['arch'])
]
def create(self, cr, uid, vals, context={}):
if 'inherit_id' in vals and vals['inherit_id']:
obj=self.browse(cr,uid,vals['inherit_id'])
child=self.pool.get(vals['model'])
error="Inherited view model [%s] and \
\n\n base view model [%s] do not match \
\n\n It should be same as base view model " \
%(vals['model'],obj.model)
try:
if obj.model==child._inherit:
pass
except:
if not obj.model==vals['model']:
raise Exception(error)
return super(view,self).create(cr, uid, vals, context={})
def read(self, cr, uid, ids, fields=None, context={}, load='_classic_read'):
if not isinstance(ids, (list, tuple)):
+1 -15
View File
@@ -26,32 +26,18 @@ class wizard_model_menu(osv.osv_memory):
'model_id': fields.many2one('ir.model','Object', required=True),
'menu_id': fields.many2one('ir.ui.menu', 'Parent Menu', required=True),
'name': fields.char('Menu Name', size=64, required=True),
'view_ids': fields.one2many('wizard.ir.model.menu.create.line', 'wizard_id', 'Views'),
}
_defaults = {
'model_id': lambda self,cr,uid,ctx: ctx.get('model_id', False)
}
def menu_create(self, cr, uid, ids, context={}):
for menu in self.browse(cr, uid, ids, context):
view_mode = []
views = []
for view in menu.view_ids:
view_mode.append(view.view_type)
views.append( (0,0,{
'view_id': view.view_id and view.view_id.id or False,
'view_mode': view.view_type,
'sequence': view.sequence
}))
val = {
'name': menu.name,
'res_model': menu.model_id.model,
'view_type': 'form',
'view_mode': ','.join(view_mode)
'view_mode': 'tree,form'
}
if views:
val['view_ids'] = views
else:
val['view_mode'] = 'tree,form'
action_id = self.pool.get('ir.actions.act_window').create(cr, uid, val)
self.pool.get('ir.ui.menu').create(cr, uid, {
'name': menu.name,
+7 -14
View File
@@ -9,16 +9,9 @@
<field name="arch" type="xml">
<form string="Create Menu">
<field name="name"/>
<field name="menu_id"/>
<field name="menu_id" domain="[('parent_id','&lt;&gt;',False)]"/>
<field name="model_id"/>
<newline/>
<field colspan="4" name="view_ids">
<tree editable="bottom" string="Views">
<field name="sequence"/>
<field name="view_type"/>
<field name="view_id"/>
</tree>
</field>
<separator colspan="4" string=""/>
<label colspan="2" string=""/>
<group col="2" colspan="2">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
@@ -29,11 +22,11 @@
</record>
<act_window context="{'model_id': active_id}" id="act_menu_create" name="Create Menu" res_model="wizard.ir.model.menu.create" target="new" view_mode="form"/>
<wizard
id="wizard_server_action_create"
model="ir.actions.server"
name="server.action.create"
string="Create Action"
menu="False"
id="wizard_server_action_create"
model="ir.actions.server"
name="server.action.create"
string="Create Action"
menu="False"
/>
</data>
</openerp>
+5 -1
View File
@@ -107,7 +107,11 @@ class module(osv.osv):
elif key=='ir.actions.report.xml':
res[mnames[data_id.module]]['reports_by_module'] += report_obj.browse(cr,uid,data_id.res_id).name + '\n'
elif key=='ir.ui.menu':
res[mnames[data_id.module]]['menus_by_module'] += menu_obj.browse(cr,uid,data_id.res_id).complete_name + '\n'
try:
m = menu_obj.browse(cr,uid,data_id.res_id)
res[mnames[data_id.module]]['menus_by_module'] += m.complete_name + '\n'
except:
pass
except KeyError, e:
pass
return res
+25 -20
View File
@@ -2,18 +2,35 @@
<openerp>
<data>
<!-- Properties -->
<record id="ir_property_view_search" model="ir.ui.view">
<field name="name">ir.property.search</field>
<field name="model">ir.property</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Parameters">
<filter icon="terp-project"
string="Generic"
help="Parameters that are used by all resources."
default="1"
domain="[('res_id','=',False)]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
<record id="ir_property_view" model="ir.ui.view">
<field name="name">ir.property.form</field>
<field name="model">ir.property</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Properties">
<form string="Parameters">
<separator colspan="4" string="Property"/>
<field name="name" select="1"/>
<field name="company_id" select="1"/>
<field name="company_id" select="1" groups="base.group_multi_company"/>
<field colspan="4" name="fields_id" select="1"/>
<field colspan="4" name="value"/>
<field colspan="4" name="res_id"/>
<field colspan="4" name="res_id" groups="base.group_extended"/>
</form>
</field>
</record>
@@ -22,33 +39,21 @@
<field name="model">ir.property</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Properties">
<tree string="Parameters">
<field name="name"/>
<field name="company_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="fields_id"/>
</tree>
</field>
</record>
<record id="ir_property_form" model="ir.actions.act_window">
<field name="name">Default Properties</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.property</field>
<field name="view_type">form</field>
<field name="domain">[('res_id','=',False)]</field>
<field name="view_id" ref="ir_property_view_tree"/>
</record>
<menuitem id="next_id_15" name="Properties" parent="base.menu_config"/>
<menuitem action="ir_property_form" id="menu_ir_property_form" parent="next_id_15"/>
<record id="ir_property_form_all" model="ir.actions.act_window">
<field name="name">All Properties</field>
<field name="name">Configuration Parameters</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.property</field>
<field name="view_type">form</field>
<field name="view_id" ref="ir_property_view_tree"/>
</record>
<menuitem action="ir_property_form_all" id="menu_ir_property_form_all" parent="base.next_id_15"/>
<menuitem id="next_id_15" name="Parameters" parent="base.menu_config"/>
<menuitem action="ir_property_form" id="menu_ir_property_form_all" parent="base.next_id_15"/>
</data>
</openerp>
+9 -7
View File
@@ -141,7 +141,9 @@
<field name="view_id" ref="view_partner_address_form1"/>
<field name="act_window_id" ref="action_partner_address_form"/>
</record>
<menuitem action="action_partner_address_form" id="menu_partner_address_form" parent="base.menu_address_book" sequence="30"/>
<menuitem action="action_partner_address_form" id="menu_partner_address_form"
groups="base.group_extended"
parent="base.menu_address_book" sequence="30"/>
<!--
=========================================
@@ -267,7 +269,7 @@
<group colspan="5" col="6">
<field name="name" select="1"/>
<field name="ref"/>
<field domain="[('domain', '=', 'partner')]" name="title"/>
<field domain="[('domain', '=', 'partner')]" name="title" groups="base.group_extended"/>
<field name="lang"/>
</group>
<group colspan="1" col="2">
@@ -318,10 +320,10 @@
<page string="Sales &amp; Purchases">
<separator string="General Information" colspan="4"/>
<field name="user_id"/>
<field name="active"/>
<field name="active" groups="base.group_extended"/>
<field name="website" widget="url"/>
<field name="date"/>
<field name="parent_id"/>
<field name="parent_id" groups="base.group_extended"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<newline/>
</page>
@@ -550,7 +552,7 @@
<field name="arch" type="xml">
<form string="Partner Category">
<field name="name" select="1"/>
<field name="active" select="1"/>
<field name="active" groups="base.group_extended"/>
<field name="parent_id"/>
<separator colspan="4" string="Partners"/>
<field colspan="4" name="partner_ids" nolabel="1"/>
@@ -565,7 +567,6 @@
<field name="arch" type="xml">
<tree string="Partner Categories">
<field name="complete_name"/>
<field name="active" />
</tree>
</field>
</record>
@@ -588,7 +589,8 @@
<field name="view_id" ref="view_partner_category_tree"/>
<field name="domain">[('parent_id','=',False)]</field>
</record>
<menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"/>
<menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"
groups="base.group_extended"/>
<record id="action_partner_by_category" model="ir.actions.act_window">
<field name="name">Partner Categories</field>
+10 -5
View File
@@ -40,9 +40,7 @@ class res_config_configurable(osv.osv_memory):
total = self.pool.get('ir.actions.todo')\
.search_count(cr, uid, [], context)
open = self.pool.get('ir.actions.todo')\
.search_count(cr, uid, [('active','=',True),
('state','<>','open')],
context)
.search_count(cr, uid, [('state','<>','open')], context)
if total:
return round(open*100./total)
return 100.
@@ -58,8 +56,7 @@ class res_config_configurable(osv.osv_memory):
todos = self.pool.get('ir.actions.todo')
self.logger.notifyChannel('actions', netsvc.LOG_INFO,
'getting next %s' % todos)
active_todos = todos.search(cr, uid, [('state','=','open'),
('active','=',True)],
active_todos = todos.search(cr, uid, [('state','=','open')],
limit=1)
if active_todos:
return todos.browse(cr, uid, active_todos[0], context=None)
@@ -111,6 +108,13 @@ class res_config_configurable(osv.osv_memory):
return self.pool.get(current_user_menu.type)\
.read(cr, uid, current_user_menu.id)
def start(self, cr, uid, ids, context=None):
ids2 = self.pool.get('ir.actions.todo').search(cr, uid, [], context=context)
for todo in self.pool.get('ir.actions.todo').browse(cr, uid, ids2, context=context):
if (todo.restart=='always') or (todo.restart=='onskip' and (todo.state in ('skip','cancel'))):
todo.write({'state':'open'})
return self.next(cr, uid, ids, context)
def next(self, cr, uid, ids, context=None):
""" Returns the next todo action to execute (using the default
sort order)
@@ -183,6 +187,7 @@ class res_config_configurable(osv.osv_memory):
next = self.cancel(cr, uid, ids, context=None)
if next: return next
return self.next(cr, uid, ids, context=context)
res_config_configurable()
class res_config_installer(osv.osv_memory):
+1
View File
@@ -554,6 +554,7 @@
<rng:optional><rng:attribute name="context"/></rng:optional>
<rng:optional><rng:attribute name="help"/></rng:optional>
<rng:optional><rng:attribute name="domain"/></rng:optional>
<rng:optional><rng:attribute name="default"/></rng:optional>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="form" />
+32 -29
View File
@@ -26,6 +26,7 @@
import logging
import logging.handlers
import os
import sys
import threading
import time
@@ -139,6 +140,30 @@ logging.addLevelName(logging.DEBUG_RPC, 'DEBUG_RPC')
logging.TEST = logging.INFO - 5
logging.addLevelName(logging.TEST, 'TEST')
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, _NOTHING, DEFAULT = range(10)
#The background is set with 40 plus the number of the color, and the foreground with 30
#These are the sequences need to get colored ouput
RESET_SEQ = "\033[0m"
COLOR_SEQ = "\033[1;%dm"
BOLD_SEQ = "\033[1m"
COLOR_PATTERN = "%s%s%%s%s" % (COLOR_SEQ, COLOR_SEQ, RESET_SEQ)
LEVEL_COLOR_MAPPING = {
logging.DEBUG_RPC: (BLUE, WHITE),
logging.DEBUG: (BLUE, DEFAULT),
logging.INFO: (GREEN, DEFAULT),
logging.TEST: (WHITE, BLUE),
logging.WARNING: (YELLOW, DEFAULT),
logging.ERROR: (RED, DEFAULT),
logging.CRITICAL: (WHITE, RED),
}
class ColoredFormatter(logging.Formatter):
def format(self, record):
fg_color, bg_color = LEVEL_COLOR_MAPPING[record.levelno]
record.levelname = COLOR_PATTERN % (30 + fg_color, 40 + bg_color, record.levelname)
return logging.Formatter.format(self, record)
def init_logger():
import os
from tools.translate import resetlocale
@@ -146,7 +171,7 @@ def init_logger():
logger = logging.getLogger()
# create a format for log messages and dates
formatter = logging.Formatter('[%(asctime)s] %(levelname)s:%(name)s:%(message)s')
format = '[%(asctime)s] %(levelname)s:%(name)s:%(message)s'
if tools.config['syslog']:
# SysLog Handler
@@ -154,7 +179,8 @@ def init_logger():
handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version))
else:
handler = logging.handlers.SysLogHandler('/dev/log')
formatter = logging.Formatter("%s %s" % (release.description, release.version) + ':%(levelname)s:%(name)s:%(message)s')
format = '%s %s' % (release.description, release.version) \
+ ':%(levelname)s:%(name)s:%(message)s'
elif tools.config['logfile']:
# LogFile Handler
@@ -176,39 +202,16 @@ def init_logger():
# Normal Handler on standard output
handler = logging.StreamHandler(sys.stdout)
# tell the handler to use this format
if isinstance(handler, logging.StreamHandler) and os.isatty(handler.stream.fileno()):
formatter = ColoredFormatter(format)
else:
formatter = logging.Formatter(format)
handler.setFormatter(formatter)
# add the handler to the root logger
logger.addHandler(handler)
logger.setLevel(int(tools.config['log_level'] or '0'))
if (not isinstance(handler, logging.FileHandler)) and os.name != 'nt':
# change color of level names
# uses of ANSI color codes
# see http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
# maybe use http://code.activestate.com/recipes/574451/
colors = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', None, 'default']
foreground = lambda f: 30 + colors.index(f)
background = lambda f: 40 + colors.index(f)
mapping = {
'DEBUG_RPC': ('blue', 'white'),
'DEBUG': ('blue', 'default'),
'INFO': ('green', 'default'),
'TEST': ('white', 'blue'),
'WARNING': ('yellow', 'default'),
'ERROR': ('red', 'default'),
'CRITICAL': ('white', 'red'),
}
for level, (fg, bg) in mapping.items():
msg = "\x1b[%dm\x1b[%dm%s\x1b[0m" % (foreground(fg), background(bg), level)
# jth: we should not override default level name
# jth: use this instead http://stackoverflow.com/questions/384076/how-can-i-make-the-python-logging-output-to-be-colored
# jth: also, do not output ANSI if terminal doesn't support it (test it in Eclipse console and on windows)
#logging.addLevelName(getattr(logging, level), msg)
class Logger(object):
+3 -3
View File
@@ -118,23 +118,23 @@ class boolean(_column):
_symbol_f = lambda x: x and 'True' or 'False'
_symbol_set = (_symbol_c, _symbol_f)
class integer_big(_column):
_type = 'integer_big'
_symbol_c = '%s'
_symbol_f = lambda x: int(x or 0)
_symbol_set = (_symbol_c, _symbol_f)
_symbol_get = lambda self,x: x or 0
class integer(_column):
_type = 'integer'
_symbol_c = '%s'
_symbol_f = lambda x: int(x or 0)
_symbol_set = (_symbol_c, _symbol_f)
_symbol_get = lambda self,x: x or 0
class reference(_column):
_type = 'reference'
def __init__(self, string, selection, size, **args):
_column.__init__(self, string=string, size=size, selection=selection, **args)
@@ -172,6 +172,7 @@ class float(_column):
_symbol_c = '%s'
_symbol_f = lambda x: __builtin__.float(x or 0.0)
_symbol_set = (_symbol_c, _symbol_f)
_symbol_get = lambda self,x: x or 0.0
def __init__(self, string='unknown', digits=None, digits_compute=None, **args):
_column.__init__(self, string=string, **args)
@@ -196,7 +197,6 @@ class datetime(_column):
class time(_column):
_type = 'time'
class binary(_column):
_type = 'binary'
_symbol_c = '%s'
+53 -34
View File
@@ -1977,9 +1977,6 @@ class orm(orm_template):
* if user tries to bypass access rules for read on the requested object
"""
groupby_list = groupby
if isinstance(groupby, list):
groupby = groupby[0]
context = context or {}
self.pool.get('ir.model.access').check(cr, uid, self._name, 'read', context=context)
if not fields:
@@ -1994,7 +1991,11 @@ class orm(orm_template):
tables.append(t)
# Take care of adding join(s) if groupby is an '_inherits'ed field
tables, where_clause = self._inherits_join_calc(groupby,tables,where_clause)
groupby_list = groupby
if groupby:
if groupby and isinstance(groupby, list):
groupby = groupby[0]
tables, where_clause = self._inherits_join_calc(groupby,tables,where_clause)
if len(where_clause):
where_clause = ' where '+string.join(where_clause, ' and ')
@@ -2007,12 +2008,15 @@ class orm(orm_template):
float_int_fields = filter(lambda x: fget[x]['type'] in ('float','integer'), fields)
sum = {}
flist = ''
group_by = groupby
if fget.get(groupby,False) and fget[groupby]['type'] in ('date','datetime'):
flist = "to_char(%s,'yyyy-mm') as %s "%(groupby,groupby)
groupby = "to_char(%s,'yyyy-mm')"%(groupby)
else:
flist = groupby
if groupby:
if fget.get(groupby,False) and fget[groupby]['type'] in ('date','datetime'):
flist = "to_char(%s,'yyyy-mm') as %s "%(groupby,groupby)
groupby = "to_char(%s,'yyyy-mm')"%(groupby)
else:
flist = groupby
fields_pre = [f for f in float_int_fields if
f == self.CONCURRENCY_CHECK_FIELD
@@ -2020,9 +2024,15 @@ class orm(orm_template):
for f in fields_pre:
if f not in ['id','sequence']:
operator = fget[f].get('group_operator','sum')
flist += ','+operator+'('+f+') as '+f
if flist:
flist += ','
flist += operator+'('+f+') as '+f
cr.execute('select min(%s.id) as id,' % self._table + flist + ' from ' + ','.join(tables) + where_clause + ' group by '+ groupby + limit_str + offset_str, where_params)
if groupby:
gb = ' group by '+groupby
else:
gb = ''
cr.execute('select min(%s.id) as id,' % self._table + flist + ' from ' + ','.join(tables) + where_clause + gb + limit_str + offset_str, where_params)
alldata = {}
groupby = group_by
for r in cr.dictfetchall():
@@ -2030,25 +2040,27 @@ class orm(orm_template):
if val == None:r[fld] = False
alldata[r['id']] = r
del r['id']
data = self.read(cr, uid, alldata.keys(), [groupby], context=context)
data = self.read(cr, uid, alldata.keys(), groupby and [groupby] or ['id'], context=context)
today = datetime.date.today()
for d in data:
d['__domain'] = [(groupby,'=',alldata[d['id']][groupby] or False)] + domain
if not isinstance(groupby_list,(str, unicode)):
d['__context'] = {'group_by':groupby_list[1:]}
if fget.has_key(groupby):
if groupby:
d['__domain'] = [(groupby,'=',alldata[d['id']][groupby] or False)] + domain
if not isinstance(groupby_list,(str, unicode)):
if groupby or not context.get('group_by_no_leaf', False):
d['__context'] = {'group_by':groupby_list[1:]}
if groupby and fget.has_key(groupby):
if d[groupby] and fget[groupby]['type'] in ('date','datetime'):
dt = datetime.datetime.strptime(alldata[d['id']][groupby][:7],'%Y-%m')
days = calendar.monthrange(dt.year, dt.month)[1]
d[groupby] = datetime.datetime.strptime(d[groupby][:10],'%Y-%m-%d').strftime('%B %Y')
d['__domain'] = [(groupby,'>=',alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-01','%Y-%m-%d').strftime('%Y-%m-%d') or False),\
if not context.get('group_by_no_leaf', False):
d['__domain'] = [(groupby,'>=',alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-01','%Y-%m-%d').strftime('%Y-%m-%d') or False),\
(groupby,'<=',alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-' + str(days),'%Y-%m-%d').strftime('%Y-%m-%d') or False)] + domain
elif fget[groupby]['type'] == 'many2one':
d[groupby] = d[groupby] and ((type(d[groupby])==type(1)) and d[groupby] or d[groupby][1]) or ''
del alldata[d['id']][groupby]
del alldata[d['id']][groupby]
d.update(alldata[d['id']])
del d['id']
return data
@@ -2660,24 +2672,31 @@ class orm(orm_template):
select = ids
select = map(lambda x: isinstance(x,dict) and x['id'] or x, select)
result = self._read_flat(cr, user, select, fields, context, load)
for r in result:
for key, v in r.items():
if v == None:
if v is None:
r[key] = False
if key in self._columns.keys():
type = self._columns[key]._type
elif key in self._inherit_fields.keys():
type = self._inherit_fields[key][2]._type
if key in self._columns:
column = self._columns[key]
elif key in self._inherit_fields:
column = self._inherit_fields[key][2]
else:
continue
if type == 'reference' and v:
model,ref_id = v.split(',')
table = self.pool.get(model)._table
cr.execute('select id from "%s" where id=%s' % (table,ref_id))
id_exist = cr.fetchone()
if not id_exist:
cr.execute('update "'+self._table+'" set "'+key+'"=NULL where "%s"=%s' %(key,''.join("'"+str(v)+"'")))
r[key] = ''
if v and column._type == 'reference':
model_name, ref_id = v.split(',', 1)
model = self.pool.get(model_name)
if not model:
reset = True
else:
cr.execute('SELECT count(1) FROM "%s" WHERE id=%%s' % (model._table,), (ref_id,))
reset = not cr.fetchone()[0]
if reset:
if column._classic_write:
query = 'UPDATE "%s" SET "%s"=NULL WHERE id=%%s' % (self._table, key)
cr.execute(query, (r['id'],))
r[key] = False
if isinstance(ids, (int, long, dict)):
return result and result[0] or False
return result
@@ -2741,7 +2760,7 @@ class orm(orm_template):
for table in self._inherits:
col = self._inherits[table]
cols = intersect(self._inherit_fields.keys(), fields_to_read)
cols = intersect(self._inherit_fields.keys(), set(fields_to_read) - set(self._columns.keys()))
if not cols:
continue
res2 = self.pool.get(table).read(cr, user, [x[col] for x in res], cols, context, load)
@@ -2841,7 +2860,7 @@ class orm(orm_template):
:param user: current user id
:param ids: id or list of ids
:param context: context arguments, like lang, time zone
:param details: if True, *_uid fields are replaced with the name of the user
:param details: if True, \*_uid fields are replaced with the name of the user
:return: list of ownership dictionaries for each requested record
:rtype: list of dictionaries with the following keys:
+1 -1
View File
@@ -217,7 +217,7 @@ class db(netsvc.ExportService):
self._set_pg_psw_env_var()
if self.db_exist(db_name):
if self.exp_db_exist(db_name):
logger.notifyChannel("web-services", netsvc.LOG_WARNING,
'RESTORE DB: %s already exists' % (db_name,))
raise Exception, "Database already exists"
+15 -10
View File
@@ -85,14 +85,14 @@ class configmanager(object):
}
self.misc = {}
hasSSL = check_ssl()
self.config_file = fname
self.has_ssl = check_ssl()
self._LOGLEVELS = dict([(getattr(netsvc, 'LOG_%s' % x), getattr(logging, x))
for x in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'TEST', 'DEBUG', 'DEBUG_RPC', 'NOTSET')])
version = "%s %s" % (release.description, release.version)
parser = optparse.OptionParser(version=version)
self.parser = parser = optparse.OptionParser(version=version)
parser.add_option("-c", "--config", dest="config", help="specify alternate config file")
parser.add_option("-s", "--save", action="store_true", dest="save", default=False,
@@ -123,7 +123,7 @@ class configmanager(object):
parser.add_option('--price_accuracy', dest='price_accuracy', default='2', help='deprecated since v6.0, replaced by module decimal_precision')
parser.add_option('--no-database-list', action="store_false", dest='list_db', default=True, help="disable the ability to return the list of databases")
if hasSSL:
if self.has_ssl:
group = optparse.OptionGroup(parser, "SSL Configuration")
group.add_option("-S", "--secure", dest="secure",
help="launch server over https instead of http")
@@ -151,7 +151,7 @@ class configmanager(object):
group.add_option('--email-from', dest='email_from', default='', help='specify the SMTP email address for sending email')
group.add_option('--smtp', dest='smtp_server', default='', help='specify the SMTP server for sending email')
group.add_option('--smtp-port', dest='smtp_port', default='25', help='specify the SMTP port', type="int")
if hasSSL:
if self.has_ssl:
group.add_option('--smtp-ssl', dest='smtp_ssl', default='', help='specify the SMTP server support SSL or not')
group.add_option('--smtp-user', dest='smtp_user', default='', help='specify the SMTP username for sending email')
group.add_option('--smtp-password', dest='smtp_password', default='', help='specify the SMTP password for sending email')
@@ -189,7 +189,8 @@ class configmanager(object):
action="callback", callback=self._check_addons_path, nargs=1, type="string")
parser.add_option_group(group)
(opt, args) = parser.parse_args()
def parse_config(self):
(opt, args) = self.parser.parse_args()
def die(cond, msg):
if cond:
@@ -220,7 +221,8 @@ class configmanager(object):
rcfilepath = os.path.expanduser('~/.openerp_serverrc')
self.rcfile = os.path.abspath(
fname or opt.config or os.environ.get('OPENERP_SERVER') or rcfilepath)
self.config_file or opt.config \
or os.environ.get('OPENERP_SERVER') or rcfilepath)
self.load()
@@ -237,7 +239,7 @@ class configmanager(object):
'netinterface', 'netport', 'db_maxconn', 'import_partial', 'addons_path',
'netrpc', 'xmlrpc', 'syslog', 'without_demo', 'timezone',]
if hasSSL:
if self.has_ssl:
keys.extend(['smtp_ssl', 'secure_cert_file', 'secure_pkey_file'])
keys.append('secure')
@@ -248,7 +250,7 @@ class configmanager(object):
keys = ['language', 'translate_out', 'translate_in', 'debug_mode',
'stop_after_init', 'logrotate', 'without_demo', 'netrpc', 'xmlrpc', 'syslog', 'list_db']
if hasSSL and not self.options['secure']:
if self.has_ssl and not self.options['secure']:
keys.append('secure')
for arg in keys:
@@ -440,7 +442,10 @@ class configmanager(object):
config = configmanager()
# FIXME:following line should be called explicitly by the server
# when it starts, to allow doing 'import tools.config' from
# other python executables without parsing *their* args.
config.parse_config()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+2 -2
View File
@@ -466,13 +466,13 @@ def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=Non
msg['X-Generated-By'] = 'OpenERP (http://www.openerp.com)'
msg['X-OpenERP-Server-Host'] = socket.gethostname()
msg['X-OpenERP-Server-Version'] = release.version
msg['X-Priority'] = priorities.get(priority, '3 (Normal)')
# Add dynamic X Header
for key, value in x_headers.iteritems():
msg['X-OpenERP-%s' % key] = str(value)
msg['%s' % key] = str(value)
if openobject_id:
msg['Message-Id'] = "<%s-openobject-%s@%s>" % (time.time(), openobject_id, socket.gethostname())
+7 -1
View File
@@ -312,7 +312,13 @@ class YamlInterpreter(object):
return eval(node.expression, self.eval_context)
def _eval_field(self, model, field_name, expression):
column = model._columns[field_name]
# TODO this should be refactored as something like model.get_field() in bin/osv
if field_name in model._columns:
column = model._columns[field_name]
elif field_name in model._inherit_fields:
column = model._inherit_fields[field_name][2]
else:
raise KeyError("Object '%s' does not contain field '%s'" % (model, field_name))
if is_ref(expression):
elements = self.process_ref(expression)
if column._type in ("many2many", "one2many"):
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-12 03:53+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-03 04:46+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-02-17 04:54+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-17 04:39+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+2 -2
View File
@@ -9,12 +9,12 @@ msgstr ""
"Report-Msgid-Bugs-To: openerp-server@packages.debian.org\n"
"POT-Creation-Date: 2009-08-24 22:41+0300\n"
"PO-Revision-Date: 2009-11-26 07:45+0000\n"
"Last-Translator: Yuri Kozlov <Unknown>\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-03-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Language: Swedish\n"
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-30 04:39+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-01-14 04:48+0000\n"
"X-Launchpad-Export-Date: 2010-04-17 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string