[MERGE]:openobject-server/trunk-dev-framework

bzr revid: ksa@tinyerp.co.in-20100827061301-o6rsswyt37r5aiuq
This commit is contained in:
ksa (Open ERP) 2010-08-27 11:43:01 +05:30
commit 2790fa06bc
30 changed files with 695 additions and 280 deletions

View File

@ -79,8 +79,10 @@
<notebook colspan="4">
<page string="Current Activity">
<field name="company_id" widget="selection" readonly="0"
context="{'user_id': self, 'user_preference': 1}"/>
context="{'user_id': self, 'user_preference': 1}" groups="base.group_multi_company"/>
<field name="view" readonly="0"/>
<label string="" colspan="2"/>
<field name="menu_tips" colspan="2"/>
<newline/>
<separator colspan="4" string="Preferences"/>
</page>
@ -114,12 +116,14 @@
<page string="User">
<field name="address_id" select="1"/>
<field name="user_email" widget="email"/>
<field name="company_id" required="1" context="{'user_id': self, 'user_preference': 1}"/>
<field name="company_id" required="1" context="{'user_id': self, 'user_preference': 1}" groups="base.group_multi_company"/>
<field name="action_id" required="True"/>
<field domain="[('usage','=','menu')]" name="menu_id" required="True"/>
<field name="context_lang"/>
<field name="context_tz"/>
<field name="view" readonly="0" />
<field name="view" readonly="0"/>
<field name="menu_tips" colspan="2"/>
<newline/>
<group colspan="2" col="2">
<separator string="Signature" colspan="2"/>
<field colspan="2" name="signature" nolabel="1"/>
@ -148,7 +152,7 @@
<field name="name"/>
<field name="login"/>
<field name="address_id" string="Address" />
<field name="company_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
@ -159,10 +163,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Users">
<field name="name" select="1"/>
<field name="login" select="1"/>
<field name="address_id" select="1" string="Address"/>
<field name="company_ids" select="1" string="Company"/>
<field name="name"/>
<field name="login"/>
<field name="address_id" string="Address"/>
<field name="company_ids" string="Company"/>
</search>
</field>
</record>

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-08-24 04:52+0000\n"
"Last-Translator: Ferdinand @ ChriCar <Unknown>\n"
"PO-Revision-Date: 2010-08-25 05:51+0000\n"
"Last-Translator: Ferdinand-chricar <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-08-25 03:51+0000\n"
"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

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-08-24 05:46+0000\n"
"PO-Revision-Date: 2010-08-26 06:44+0000\n"
"Last-Translator: Goran Kliska <gkliska@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-08-25 03:51+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Language: hr\n"

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-08-24 05:43+0000\n"
"PO-Revision-Date: 2010-08-26 06:37+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-08-25 03:51+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

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-08-24 05:38+0000\n"
"PO-Revision-Date: 2010-08-26 06:47+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-08-25 03:51+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
"PO-Revision-Date: 2010-08-24 05:48+0000\n"
"PO-Revision-Date: 2010-08-26 06:38+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: <pt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-08-25 03:52+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

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-08-24 05:34+0000\n"
"PO-Revision-Date: 2010-08-26 06:50+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-08-25 03:51+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

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-08-24 05:41+0000\n"
"PO-Revision-Date: 2010-08-26 06: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-08-25 03:51+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

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-08-24 05:44+0000\n"
"PO-Revision-Date: 2010-08-26 06:49+0000\n"
"Last-Translator: Eleanor Chen <chenyueg@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-08-25 03:52+0000\n"
"X-Launchpad-Export-Date: 2010-08-27 03:38+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base

View File

@ -10,34 +10,71 @@
<field name="priority">20</field>
<field name="arch" type="xml">
<form string="Connect Events to Actions">
<field name="name" select="1" required="1"/>
<newline/>
<group col="2" colspan="2">
<separator string="Action Source" colspan="2"/>
<field name="model_id" on_change="onchange_object_id(model_id)"/>
<field name="model" select="1" required="1"/>
<field name="res_id"/>
<field name="key2" select="2" required="1"/>
</group>
<group col="2" colspan="2">
<separator string="Action To Launch" colspan="2"/>
<field name="action_id" on_change="onchange_action_id(action_id)"/>
<field name="value_unpickle" required="1"/>
<field name="object" readonly="1"/>
</group>
<field name="name" required="1"/>
<field name="model_id" on_change="onchange_object_id(model_id)"/>
<field name="action_id" on_change="onchange_action_id(action_id)"/>
<field name="key2" required="1"/>
<field name="object" readonly="1"/>
<field name="res_id"/>
<field name="value_unpickle"/>
<field name="meta_unpickle"/>
<field name="user_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</form>
</field>
</record>
<record id="values_view_tree_action" model="ir.ui.view">
<field name="name">ir.values.tree.action</field>
<field name="model">ir.values</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Client Actions">
<field name="name"/>
<field name="model"/>
<field name="action_id"/>
<field name="key2"/>
</tree>
</field>
</record>
<record id="values_view_search_action" model="ir.ui.view">
<field name="name">ir.values.search.action</field>
<field name="model">ir.values</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Client Actions">
<field name="name"/>
<field name="model"/>
<field name="key2"/>
</search>
</field>
</record>
<record id="act_values_form_action" model="ir.actions.act_window">
<field name="name">Connect Actions To Client Events</field>
<field name="name">Client Actions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.values</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="view_id" ref="values_view_form_action"/>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="values_view_search_action"/>
<field name="domain">[('key','=','action')]</field>
<field name="context">{'read':'default','default_object':1}</field>
</record>
<record model="ir.actions.act_window.view" id="action_values_tree_view">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="values_view_tree_action"/>
<field name="act_window_id" ref="act_values_form_action"/>
</record>
<record model="ir.actions.act_window.view" id="action_values_form_view">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="values_view_form_action"/>
<field name="act_window_id" ref="act_values_form_action"/>
</record>
<menuitem action="act_values_form_action" id="menu_values_form_action" parent="base.menu_custom_action"/>
@ -89,8 +126,6 @@
<field name="context">{'read':'default'}</field>
</record>
<menuitem action="act_values_form" id="menu_values_form" parent="next_id_4"/>
<!-- Sequences -->
<record id="sequence_view" model="ir.ui.view">
@ -239,8 +274,8 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Action">
<field name="name" select="1"/>
<field name="type" select="1"/>
<field name="name"/>
<field name="type"/>
<field name="usage"/>
</form>
</field>
@ -256,6 +291,17 @@
</tree>
</field>
</record>
<record id="action_view_search" model="ir.ui.view">
<field name="name">ir.actions.actions.search</field>
<field name="model">ir.actions.actions</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Action">
<field name="name"/>
<field name="type"/>
</search>
</field>
</record>
<record id="ir_sequence_actions" model="ir.actions.act_window">
<field name="name">Actions</field>
@ -263,6 +309,7 @@
<field name="res_model">ir.actions.actions</field>
<field name="view_type">form</field>
<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"/>
<menuitem action="ir_sequence_actions" id="menu_ir_sequence_actions" parent="next_id_6"/>
@ -276,8 +323,8 @@
<field name="arch" type="xml">
<form string="Filters">
<group colspan="4" >
<field name="name" select="1"/>
<field name="user_id" select="1"/>
<field name="name"/>
<field name="user_id"/>
<field name="model_id"/>
</group>
<group col="4" expand="1">
@ -298,14 +345,34 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Filters">
<field name="name" select="1"/>
<field name="user_id" select="1"/>
<field name="name"/>
<field name="user_id"/>
<field name="model_id"/>
<field name="domain"/>
<field name="context"/>
</tree>
</field>
</record>
<!--Filters search view-->
<record id="ir_filters_view_search" model="ir.ui.view">
<field name="name">ir.filters.search</field>
<field name="model">ir.filters</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Filters">
<group colspan="4" col="10">
<field name="name"/>
<field name="user_id"/>
</group>
<newline/>
<group expand="0" string="Group By" colspan="4">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
</group>
</search>
</field>
</record>
<!-- Filters action-->
@ -315,6 +382,7 @@
<field name="res_model">ir.filters</field>
<field name="view_type">form</field>
<field name="view_id" ref="ir_filters_view_tree"/>
<field name="search_view_id" ref="ir_filters_view_search"/>
</record>
<!-- Filters view menu-->
@ -329,8 +397,8 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Report custom">
<field name="name" select="1"/>
<field name="type" select="1"/>
<field name="name"/>
<field name="type"/>
<field name="report_id"/>
<field name="usage"/>
</form>
@ -347,6 +415,23 @@
</tree>
</field>
</record>
<record id="act_report_custom_search_view" model="ir.ui.view">
<field name="name">ir.actions.report.custom.search</field>
<field name="model">ir.actions.report.custom</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Report custom">
<group colspan="4" col="10">
<field name="name"/>
<field name="type"/>
</group>
<newline/>
<group expand="0" string="Group By" colspan="4">
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
</group>
</search>
</field>
</record>
<record id="ir_action_report_custom" model="ir.actions.act_window">
<field name="name">Report Custom</field>
@ -354,6 +439,7 @@
<field name="res_model">ir.actions.report.custom</field>
<field name="view_type">form</field>
<field name="view_id" ref="act_report_custom_view_tree"/>
<field name="search_view_id" ref="act_report_custom_search_view"/>
</record>
<menuitem action="ir_action_report_custom" id="menu_ir_action_report_custom" parent="base.next_id_6"/>
@ -418,6 +504,26 @@
</tree>
</field>
</record>
<record id="act_report_xml_search_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml.search</field>
<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/>
<group expand="0" string="Group By" colspan="4">
<filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'report_type'}"/>
</group>
</search>
</field>
</record>
<record id="ir_action_report_xml" model="ir.actions.act_window">
<field name="name">Report Xml</field>
@ -425,6 +531,7 @@
<field name="res_model">ir.actions.report.xml</field>
<field name="view_type">form</field>
<field name="view_id" ref="act_report_xml_view_tree"/>
<field name="search_view_id" ref="act_report_xml_search_view"/>
</record>
<menuitem action="ir_action_report_xml" id="menu_ir_action_report_xml" parent="base.next_id_6"/>
@ -503,11 +610,31 @@
</form>
</field>
</record>
<record id="view_window_action_search" model="ir.ui.view">
<field name="name">ir.actions.windows.search</field>
<field name="model">ir.actions.act_window</field>
<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/>
<group expand="0" string="Group By" colspan="4">
<filter string="View Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'view_type'}"/>
</group>
</search>
</field>
</record>
<record id="ir_action_window" model="ir.actions.act_window">
<field name="name">Window Actions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_window_action_search"/>
</record>
<record id="ir_action_window_view1" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
@ -542,20 +669,38 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Wizards">
<field name="name" select="1"/>
<field name="type" select="1"/>
<field name="wiz_name" select="1"/>
<field name="name"/>
<field name="type"/>
<field name="wiz_name"/>
<field name="multi"/>
<field colspan="4" name="groups_id"/>
<notebook colspan="4">
<page string="Security">
<field colspan="4" name="groups_id" nolabel="1"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="act_wizard_search_view" model="ir.ui.view">
<field name="name">ir.actions.wizard.search</field>
<field name="model">ir.actions.wizard</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Wizards">
<field name="name"/>
<field name="type"/>
<field name="wiz_name"/>
</search>
</field>
</record>
<record id="ir_action_wizard" model="ir.actions.act_window">
<field name="name">Wizards</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.wizard</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="act_wizard_search_view"/>
</record>
<menuitem action="ir_action_wizard" id="menu_ir_action_wizard" parent="base.next_id_6"/>
@ -645,7 +790,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Role">
<field name="name" select="1"/>
<field name="name"/>
<field name="parent_id"/>
<separator string="Description" colspan="4"/>
<field name="description" nolabel="1" colspan="4"/>
@ -675,6 +820,18 @@
</tree>
</field>
</record>
<record id="view_roles_search" model="ir.ui.view">
<field name="name">res.roles.search</field>
<field name="model">res.roles</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Role">
<field name="name"/>
<field name="parent_id"/>
</search>
</field>
</record>
<record id="action_res_roles" model="ir.actions.act_window">
<field name="name">Roles Structure</field>
<field name="type">ir.actions.act_window</field>
@ -691,6 +848,7 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.roles</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_roles_search"/>
</record>
<menuitem action="action_res_roles_form" id="menu_action_res_roles_form" parent="menu_action_res_roles"/>
@ -821,6 +979,24 @@
</tree>
</field>
</record>
<record id="view_attachment_search" model="ir.ui.view">
<field name="name">ir.attachment.search</field>
<field name="model">ir.attachment</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Attachments">
<group colspan="4" col="10">
<field name="name"/>
<field name="datas_fname"/>
<field name="type"/>
</group>
<newline/>
<group expand="0" string="Group By" colspan="4">
<filter string="File Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
</group>
</search>
</field>
</record>
<record id="action_attachment" model="ir.actions.act_window">
<field name="name">Attachments</field>
@ -828,6 +1004,7 @@
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_attachment_search"/>
</record>
<menuitem action="action_attachment" id="menu_action_attachment" parent="base.next_id_4"/>
@ -1228,12 +1405,20 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Translations">
<field name="lang"/>
<field name="type"/>
<field name="name"/>
<field name="res_id"/>
<field name="type"/>
<field name="lang"/>
<field name="src"/>
<field name="value"/>
<group colspan="4" col="4">
<group colspan="2" col="2">
<separator string="Source Term" colspan="2"/>
<field name="src" nolabel="1" height="400"/>
</group>
<group colspan="2" col="2">
<separator string="Tranlsation Term" colspan="2"/>
<field name="value" nolabel="1" height="400"/>
</group>
</group>
</form>
</field>
</record>
@ -1309,28 +1494,43 @@
<field name="arch" type="xml">
<form string="Menu">
<group col="8">
<field name="name" select="1" string="Menu" />
<field name="parent_id" select="1" colspan="4"/>
<field name="name" string="Menu" />
<field name="parent_id" colspan="4"/>
<field name="sequence" colspan="2"/>
<field name="complete_name" string="Full Path" colspan="8"/>
<field name="action" colspan="4" />
<field name="icon" on_change="onchange_icon(icon)" colspan="2"/>
<field name="icon_pict" widget="picture" nolabel="1" colspan="2"/>
</group>
<group col="4" colspan="4" expand="1">
<separator string="Security on Groups" colspan="4"/>
<field name="groups_id" colspan="4" nolabel="1"/>
</group>
<notebook colspan="4">
<page string="Security on Groups">
<field name="groups_id" colspan="4" nolabel="1"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="edit_menu_access_search" model="ir.ui.view">
<field name="name">ir.ui.menu.search</field>
<field name="model">ir.ui.menu</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Menu">
<field name="name" string="Menu" />
<field name="parent_id"/>
</search>
</field>
</record>
<record id="grant_menu_access" model="ir.actions.act_window">
<field name="name">Manage Menus</field>
<field name="res_model">ir.ui.menu</field>
<field name="view_type">form</field>
<field name="view_id" ref="edit_menu"/>
<field name="search_view_id" ref="edit_menu_access_search"/>
</record>
<menuitem action="grant_menu_access" id="menu_grant_menu_access" parent="base.menu_security"/>
<menuitem action="grant_menu_access" id="menu_grant_menu_access" parent="base.menu_security" sequence="1"/>
<!--
=============================================================
@ -1453,9 +1653,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Access Controls">
<field colspan="4" name="name" select="1"/>
<field name="model_id" select="1"/>
<field name="group_id" select="1"/>
<field colspan="4" name="name"/>
<field name="model_id"/>
<field name="group_id"/>
<newline/>
<field name="perm_read"/>
<field name="perm_write"/>
@ -1464,13 +1664,27 @@
</form>
</field>
</record>
<record id="ir_access_view_search" model="ir.ui.view">
<field name="name">ir.model.access.search</field>
<field name="model">ir.model.access</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Access Controls">
<field name="name"/>
<field name="model_id"/>
<field name="group_id"/>
</search>
</field>
</record>
<record id="ir_access_act" model="ir.actions.act_window">
<field name="name">Access Controls List</field>
<field name="res_model">ir.model.access</field>
<field name="view_type">form</field>
<field name="view_id" ref="ir_access_view_tree"/>
<field name="search_view_id" ref="ir_access_view_search"/>
</record>
<menuitem name="Access Controls" id="menu_security_access" parent="menu_security"/>
<menuitem name="Access Controls" id="menu_security_access" parent="menu_security" sequence="5"/>
<menuitem action="ir_access_act" id="menu_ir_access_act" parent="menu_security_access"/>
<!-- Rules -->
@ -1484,7 +1698,7 @@
<group col="2" colspan="2">
<separator colspan="2" string="General"/>
<field colspan="4" name="name"/>
<field name="model_id" select="1"/>
<field name="model_id"/>
</group>
<group col="4" colspan="2">
<separator colspan="4" string="Access Rights"/>
@ -1499,8 +1713,8 @@
</group>
<separator colspan="4" string="Groups (no group = global)"/>
<group colspan="4" expand="1">
<field name="global" select="1"/>
<field name="groups" select="1" nolabel="1" colspan="4"/>
<field name="global"/>
<field name="groups" nolabel="1" colspan="4"/>
</group>
<separator colspan="4" string="Combination of rules"/>
<label align="0.0" colspan="4"
@ -1531,14 +1745,27 @@
</tree>
</field>
</record>
<record id="view_rule_search" model="ir.ui.view">
<field name="name">Record rules</field>
<field name="model">ir.rule</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Record rules">
<field name="model_id"/>
<field name="global"/>
<field name="groups"/>
</search>
</field>
</record>
<record id="action_rule" model="ir.actions.act_window">
<field name="name">Record Rules</field>
<field name="res_model">ir.rule</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_rule_tree"/>
<field name="search_view_id" ref="view_rule_search"/>
</record>
<menuitem action="action_rule" id="menu_action_rule" parent="base.menu_security"/>
<menuitem action="action_rule" id="menu_action_rule" parent="base.menu_security" sequence="3"/>
<record id="property_rule" model="ir.rule">
<field name="name">Property multi-company</field>
@ -1556,10 +1783,10 @@
<field name="arch" type="xml">
<form string="Server Action">
<group col="6" colspan="4">
<field name="name" select="1"/>
<field name="model_id" select="1"/>
<field name="state" select="1"/>
<field name="sequence" select="2"/>
<field name="name"/>
<field name="model_id"/>
<field name="state"/>
<field name="sequence"/>
<field name="condition"/>
</group>
<notebook colspan="4">
@ -1570,12 +1797,12 @@
<page string="Trigger" attrs="{'invisible':[('state','!=','trigger')]}">
<separator colspan="4" string="Trigger Configuration"/>
<field name="wkf_model_id" attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_obj_id" select="2" context="{'key':''}" domain="[('model_id','=',model_id)]" attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_name" select="2" attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_obj_id" context="{'key':''}" domain="[('model_id','=',model_id)]" attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_name" attrs="{'required':[('state','=','trigger')]}"/>
</page>
<page string="Action to Launch" attrs="{'invisible':[('state','!=','client_action')]}">
<separator colspan="4" string="Client Action Configuration"/>
<field name="action_id" select="2" attrs="{'required':[('state','=','client_action')]}"/>
<field name="action_id" attrs="{'required':[('state','=','client_action')]}"/>
</page>
<page string="Email Configuration" attrs="{'invisible':[('state','!=','email')]}">
<separator colspan="4" string="Email Configuration"/>
@ -1594,9 +1821,9 @@
</page>
<page string="Create / Write / Copy" attrs="{'invisible':[('state','!=','object_create'), ('state','!=','object_write'), ('state','!=','object_copy')]}">
<separator colspan="4" string="Fields Mapping"/>
<field name="srcmodel_id" select="2" attrs="{'required':[('state','!=','dummy'), ('state','!=','sms'), ('state','!=','code'), ('state','!=','loop'), ('state','!=','trigger'), ('state','!=','object_copy'), ('state','!=','client_action'), ('state','!=','email'), ('state','!=','sms'), ('state','!=','other')]}"/>
<field name="srcmodel_id" attrs="{'required':[('state','!=','dummy'), ('state','!=','sms'), ('state','!=','code'), ('state','!=','loop'), ('state','!=','trigger'), ('state','!=','object_copy'), ('state','!=','client_action'), ('state','!=','email'), ('state','!=','sms'), ('state','!=','other')]}"/>
<field name="copy_object" on_change="change_object(copy_object, state)" select="2" attrs="{'required':[('state','!=','dummy'), ('state','!=','sms'), ('state','!=','code'), ('state','!=','loop'), ('state','!=','trigger'), ('state','!=','object_write'), ('state','!=','object_create'), ('state','!=','client_action'), ('state','!=','email'), ('state','!=','sms'), ('state','!=','other')]}"/>
<field name="fields_lines" nolabel="1" select="2" colspan="4">
<field name="fields_lines" nolabel="1" colspan="4">
<tree string="Field Mappings" editable="top">
<field name="col1" domain="[('model_id','=',parent.srcmodel_id or parent.model_id)]"/>
<field name="type"/>
@ -1641,6 +1868,25 @@
</tree>
</field>
</record>
<record id="view_server_action_search" model="ir.ui.view">
<field name="name">ir.actions.server.search</field>
<field name="model">ir.actions.server</field>
<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/>
<group expand="0" string="Group By" colspan="4" col="4">
<filter string="Action Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_server_action" model="ir.actions.act_window">
<field name="name">Server Actions</field>
@ -1649,6 +1895,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_server_action_tree"/>
<field name="search_view_id" ref="view_server_action_search"/>
<field name="context">{'key':'server_action'}</field>
</record>
<menuitem action="action_server_action" id="menu_server_action" parent="base.menu_custom_action"/>

View File

@ -210,12 +210,14 @@ class act_window(osv.osv):
return res
def _get_help_status(self, cr, uid, ids, name, arg, context={}):
cr.execute(""" SELECT action.id,
CASE WHEN r.uid IS NULL THEN True ELSE False END
AS help_status FROM ir_act_window action
LEFT JOIN ir_act_window_user_rel r ON
(action.id = r.act_id AND (r.uid IS NULL or r.uid= %s)) WHERE action.id = ANY(%s)""",(uid,ids,))
return dict(cr.fetchall())
activate_tips = self.pool.get('res.users').browse(cr, uid, uid).menu_tips
if activate_tips:
cr.execute(""" SELECT action.id,
CASE WHEN r.uid IS NULL THEN True ELSE False END
AS help_status FROM ir_act_window action
LEFT JOIN ir_act_window_user_rel r ON
(action.id = r.act_id AND (r.uid IS NULL or r.uid= %s)) WHERE action.id = ANY(%s)""",(uid,ids,))
return dict(cr.fetchall())
_columns = {
'name': fields.char('Action Name', size=64, translate=True),

View File

@ -232,24 +232,7 @@ class ir_model_grid(osv.osv):
<field name="group_0"/>
''' % (view_type,)
for group in groups_br:
xml += '''<field name="grouDHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 9
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
* Stopping the Firestarter firewall...
...done.
* Starting the Firestarter firewall...
...done.
[ OK ]
rpa@rpa:~$ * Stopping NTP server ntpd
...done.
* Starting NTP server ntpd
...done.
p_%d"/>''' % (group.id, )
xml += '''<field name="group_%d"/>''' % (group.id, )
xml += '''</%s>''' % (view_type,)
result['arch'] = xml
result['fields'] = self.fields_get(cr, uid, cols, context)

View File

@ -64,20 +64,30 @@ class ir_translation(osv.osv):
def _auto_init(self, cr, context={}):
super(ir_translation, self)._auto_init(cr, context)
# FIXME: there is a size limit on btree indexed values so we can't index src column with normal btree.
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('ir_translation_ltns',))
if not cr.fetchone():
cr.execute('CREATE INDEX ir_translation_ltns ON ir_translation (lang, type, name, src)')
if cr.fetchone():
#temporarily removed: cr.execute('CREATE INDEX ir_translation_ltns ON ir_translation (name, lang, type, src)')
cr.execute('DROP INDEX ir_translation_ltns')
cr.commit()
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('ir_translation_lts',))
if cr.fetchone():
#temporarily removed: cr.execute('CREATE INDEX ir_translation_lts ON ir_translation (lang, type, src)')
cr.execute('DROP INDEX ir_translation_lts')
cr.commit()
# add separate hash index on src (no size limit on values), as postgres 8.1+ is able to combine separate indexes
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('ir_translation_src_hash_idx',))
if not cr.fetchone():
cr.execute('CREATE INDEX ir_translation_src_hash_idx ON ir_translation using hash (src)')
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('ir_translation_ltn',))
if not cr.fetchone():
cr.execute('CREATE INDEX ir_translation_ltn ON ir_translation (lang, type, name)')
cr.execute('CREATE INDEX ir_translation_ltn ON ir_translation (name, lang, type)')
cr.commit()
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('ir_translation_lts',))
if not cr.fetchone():
cr.execute('CREATE INDEX ir_translation_lts ON ir_translation (lang, type, src)')
cr.commit()
@tools.cache(skiparg=3, multi='ids')
def _get_ids(self, cr, uid, name, tt, lang, ids):

View File

@ -146,11 +146,17 @@ class wkf_transition(osv.osv):
_columns = {
'trigger_model': fields.char('Trigger Object', size=128),
'trigger_expr_id': fields.char('Trigger Expression', size=128),
'signal': fields.char('Signal (button Name)', size=64),
'role_id': fields.many2one('res.roles', 'Role Required'),
'condition': fields.char('Condition', required=True, size=128),
'act_from': fields.many2one('workflow.activity', 'Source Activity', required=True, select=True, ondelete='cascade'),
'act_to': fields.many2one('workflow.activity', 'Destination Activity', required=True, select=True, ondelete='cascade'),
'signal': fields.char('Signal (button Name)', size=64,
help="When the operation of transition comes from a button pressed in the client form, "\
"signal tests the name of the pressed button. If signal is NULL, no button is necessary to validate this transition."),
'role_id': fields.many2one('res.roles', 'Role Required',
help="The role that a user must have to validate this transition."),
'condition': fields.char('Condition', required=True, size=128,
help="Expression to be satisfied if we want the transition done."),
'act_from': fields.many2one('workflow.activity', 'Source Activity', required=True, select=True, ondelete='cascade',
help="Source activity. When this activity is over, the condition is tested to determine if we can start the ACT_TO activity."),
'act_to': fields.many2one('workflow.activity', 'Destination Activity', required=True, select=True, ondelete='cascade',
help="The destination activity."),
'wkf_id': fields.related('act_from','wkf_id', type='many2one', relation='workflow', string='Workflow', select=True),
}
_defaults = {

View File

@ -92,40 +92,56 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Activity">
<field colspan="4" name="name" select="1"/>
<field name="wkf_id" select="1"/>
<field name="kind" select="1"/>
<field name="action_id" select="1" colspan="4"/>
<field name="action" select="1" colspan="4" attrs="{'readonly':[('kind','=','dummy')]}"/>
<field name="subflow_id" attrs="{'readonly':[('kind','&lt;&gt;','subflow')]}"/>
<field name="signal_send"/>
<newline/>
<field name="flow_start"/>
<field name="flow_stop"/>
<field name="split_mode"/>
<field name="join_mode"/>
<separator colspan="4" string="Outgoing transitions"/>
<field colspan="4" name="out_transitions" nolabel="1">
<tree string="Transitions">
<field name="act_to"/>
<field name="signal"/>
<field name="role_id"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
</tree>
</field>
<separator colspan="4" string="Incoming transitions"/>
<field colspan="4" name="in_transitions" nolabel="1">
<tree string="Transitions">
<field name="act_from"/>
<field name="signal"/>
<field name="role_id"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
</tree>
</field>
<field name="name"/>
<field name="wkf_id"/>
<group colspan="4" col="7">
<field name="kind" colspan="4"/>
<field name="flow_start"/>
<field name="flow_stop"/>
</group>
<notebook colspan="4">
<page string="Properties">
<group colspan="4" col="6">
<group colspan="1" col="2">
<separator string="Subflow" colspan="2"/>
<field name="subflow_id" attrs="{'readonly':[('kind','&lt;&gt;','subflow')]}"/>
<field name="signal_send"/>
</group>
<group colspan="1" col="2">
<separator string="Conditions" colspan="2"/>
<field name="split_mode"/>
<field name="join_mode"/>
</group>
<group colspan="1" col="2">
<separator string="Actions" colspan="2"/>
<field name="action_id"/>
<field name="action" attrs="{'readonly':[('kind','=','dummy')]}"/>
</group>
</group>
</page>
<page string="Transitions">
<group colspan="4" col="4">
<group col="2" colspan="2">
<field name="in_transitions" nolabel="1" height="400">
<tree string="Incoming Transitions">
<field name="act_from"/>
<field name="signal"/>
<field name="condition"/>
</tree>
</field>
</group>
<group col="2" colspan="2">
<field name="out_transitions" nolabel="1" height="400">
<tree string="Outgoing Transitions">
<field name="act_to"/>
<field name="signal"/>
<field name="condition"/>
</tree>
</field>
</group>
</group>
</page>
</notebook>
</form>
</field>
</record>
@ -138,19 +154,33 @@
<field name="name"/>
<field name="wkf_id"/>
<field name="kind"/>
<field name="action"/>
<field name="action_id"/>
<field name="flow_start"/>
<field name="flow_stop"/>
</tree>
</field>
</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">
<field name="name"/>
<field name="wkf_id"/>
<field name="kind"/>
<field name="action_id"/>
<field name="action"/>
</search>
</field>
</record>
<record id="action_workflow_activity_form" model="ir.actions.act_window">
<field name="name">Activities</field>
<field name="res_model">workflow.activity</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_workflow_activity_tree"/>
<field name="search_view_id" ref="view_workflow_activity_search"/>
</record>
<menuitem action="action_workflow_activity_form" id="menu_workflow_activity" parent="base.menu_workflow_root"/>
@ -167,8 +197,8 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Transition">
<field name="act_from" select="1"/>
<field name="act_to" select="1"/>
<field name="act_from"/>
<field name="act_to"/>
<field colspan="4" name="condition"/>
<field name="signal"/>
<field name="role_id"/>
@ -186,22 +216,32 @@
<field name="act_from"/>
<field name="act_to"/>
<field name="signal"/>
<field name="role_id"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
</tree>
</field>
</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="condition"/>
</search>
</field>
</record>
<record id="action_workflow_transition_form" model="ir.actions.act_window">
<field name="name">Transitions</field>
<field name="res_model">workflow.transition</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_workflow_transition_tree"/>
</record>
<menuitem action="action_workflow_transition_form" id="menu_workflow_transition" parent="base.menu_workflow_root"/>
<record id="action_workflow_transition_form" model="ir.actions.act_window">
<field name="name">Transitions</field>
<field name="res_model">workflow.transition</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_workflow_transition_tree"/>
<field name="search_view_id" ref="view_workflow_transition_search"/>
</record>
<menuitem action="action_workflow_transition_form" id="menu_workflow_transition" parent="base.menu_workflow_root"/>
<!--
================================
@ -215,11 +255,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Workflow Instances">
<field name="wkf_id" select="1"/>
<field name="uid" select="2"/>
<field name="res_id" select="1"/>
<field name="res_type" select="1"/>
<field name="state" select="2"/>
<field name="wkf_id" readonly="1"/>
<field name="uid" readonly="1"/>
<field name="res_id" readonly="1"/>
<field name="res_type" readonly="1"/>
<field name="state" readonly="1"/>
</form>
</field>
</record>
@ -237,12 +277,27 @@
</tree>
</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">
<field name="wkf_id"/>
<field name="uid"/>
<field name="res_id"/>
<field name="res_type"/>
<field name="state"/>
</search>
</field>
</record>
<record id="action_workflow_instance_form" model="ir.actions.act_window">
<field name="name">Instances</field>
<field name="res_model">workflow.instance</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_workflow_instance_tree"/>
<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"/>
@ -258,10 +313,10 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Workflow Workitems">
<field name="act_id" select="1"/>
<field name="subflow_id" select="1"/>
<field name="inst_id" select="1"/>
<field name="state" select="2"/>
<field name="act_id" readonly="1"/>
<field name="subflow_id" readonly="1"/>
<field name="inst_id" readonly="1"/>
<field name="state" readonly="1"/>
</form>
</field>
</record>
@ -278,12 +333,26 @@
</tree>
</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">
<field name="act_id"/>
<field name="subflow_id"/>
<field name="inst_id"/>
<field name="state"/>
</search>
</field>
</record>
<record id="action_workflow_workitem_form" model="ir.actions.act_window">
<field name="name">Workitems</field>
<field name="res_model">workflow.workitem</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_workflow_workitem_tree"/>
<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"/>

View File

@ -23,10 +23,10 @@
<field name="arch" type="xml">
<form string="Maintenance Contract">
<separator string="Information" colspan="4"/>
<field name="name" select="1" />
<field name="state" />
<field name="date_start" select="1"/>
<field name="date_stop" select="1"/>
<field name="name"/>
<newline/>
<field name="date_start"/>
<field name="date_stop"/>
<separator string="Covered Modules" colspan="4"/>
<field name="module_ids" nolabel="1" colspan="4">
<tree string="Covered Modules">
@ -34,16 +34,43 @@
<field name="version" />
</tree>
</field>
<field name="state" colspan="4"/>
</form>
</field>
</record>
<record id="maintenance_contract_search_view" model="ir.ui.view">
<field name="name">maintenance.contract.search</field>
<field name="model">maintenance.contract</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Maintenance Contract">
<field name="name"/>
<field name="date_start"/>
<field name="date_stop"/>
</search>
</field>
</record>
<record id="maintenance_contract_view_calendar" model="ir.ui.view">
<field name="name">maintenance.contract.calendar</field>
<field name="model">maintenance.contract</field>
<field name="type">calendar</field>
<field name="arch" type="xml">
<calendar string="Maintenance Contract" date_start="date_start" color="state">
<field name="name"/>
<field name="state"/>
</calendar>
</field>
</record>
<record id="action_maintenance_contract_form" model="ir.actions.act_window">
<field name="name">Your Maintenance Contracts</field>
<field name="name">Maintenance Contracts</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">maintenance.contract</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="search_view_id" ref="maintenance_contract_search_view"/>
</record>
<menuitem
@ -79,7 +106,7 @@
</group>
</group>
<group colspan="4">
<button type="object" string="_Cancel" icon="gtk-cancel" special="cancel" states="draft"/>
<button type="object" string="_Close" icon="gtk-cancel" special="cancel" states="draft"/>
<button type="object" string="_Validate" icon="gtk-apply" name="action_validate" states="draft"/>
<button type="object" string="_Close" icon="gtk-close" special="cancel" states="validated,unvalidated"/>
</group>

View File

@ -90,19 +90,26 @@
<field name="name" select="1"/>
<field name="certificate" />
<field colspan="4" name="shortdesc" select="2"/>
<field name="category_id"/>
<field name="demo" readonly="1"/>
<notebook colspan="4">
<page string="Module">
<field colspan="4" name="description" select="2"/>
<field name="installed_version"/>
<field name="latest_version"/>
<field name="author" select="2"/>
<field name="website" select="2" widget="url"/>
<field name="maintainer" attrs="{'invisible': [('maintainer', '=', False)]}"/>
<field name="url" widget="url"/>
<field name="contributors" widget="char" attrs="{'invisible': [('contributors', '=', False)]}"/>
<field name="published_version"/>
<field name="license"/>
<field name="demo" readonly="1"/>
<group colspan="4" col="4">
<group colspan="2" col="2">
<separator string="Author" colspan="2"/>
<field name="author" select="2"/>
<field name="license"/>
<field name="website" select="2" widget="url" string="Author Website"/>
</group>
<group colspan="2" col="2">
<separator string="Version" colspan="2"/>
<field name="installed_version"/>
<field name="latest_version"/>
<field name="published_version"/>
</group>
</group>
<separator string="Description" colspan="4"/>
<field colspan="4" name="description" select="2" nolabel="1"/>
<newline/>
<field name="state" readonly="1" select="1"/>
<group col="6" colspan="2">

View File

@ -14,11 +14,11 @@
<form col="3" string="Export language">
<notebook>
<page string="Export Data">
<group col="2" fill="0" states="choose">
<group col="2" colspan="4" fill="0" states="choose">
<separator colspan="2" string="Export translation file"/>
<field name="lang" width="300"/>
<field name="lang" required="1"/>
<field name="format" required="1"/>
<field height="200" name="modules" width="500"/>
<field height="200" name="modules" nolabel="1" colspan="4"/>
<field invisible="1" name="state"/>
</group>
<group col="1" fill="0" states="get">
@ -37,7 +37,7 @@
</notebook>
<group col="2" colspan="3" fill="0">
<button icon="gtk-cancel" name="act_cancel" special="cancel" states="choose" string="Cancel" type="object"/>
<button icon="gtk-cancel" name="act_cancel" special="cancel" states="choose" string="Close" type="object"/>
<button icon="gtk-ok" name="act_getfile" states="choose" string="Get file" type="object"/>
<button icon="gtk-close" name="act_destroy" special="cancel" states="get" string="Close" type="object"/>
</group>
@ -67,14 +67,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form col="3" string="Update Translations">
<image name="gtk-dialog-info"/>
<group col="2" fill="0" height="500">
<field name="lang" width="300"/>
</group>
<field name="lang"/>
<label align="0.0" colspan="4" string="This wizard will detect new terms in the application so that you can update them manually."/>
<separator colspan="4"/>
<group col="2" colspan="4" fill="0">
<button icon="gtk-cancel" name="act_cancel" special="cancel" string="Cancel" type="object"/>
<button icon="gtk-cancel" name="act_cancel" special="cancel" string="Close" type="object"/>
<button icon="gtk-ok" name="act_update" string="Update" type="object"/>
</group>
</form>

View File

@ -64,4 +64,6 @@ class base_language_install_msg(osv.osv_memory):
_name = "base.language.install.msg"
_description = "Install Language"
base_language_install_msg()
base_language_install_msg()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -110,5 +110,7 @@ class base_module_import_msg(osv.osv_memory):
'type': 'ir.actions.act_window',
}
base_module_import_msg()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
base_module_import_msg()

View File

@ -105,4 +105,7 @@ class base_module_update_open(osv.osv_memory):
res.update({'search_view_id' : search_view_id[0]})
return res
base_module_update_open()
base_module_update_open()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -27,18 +27,23 @@ from tempfile import TemporaryFile
view_form="""<?xml version="1.0"?>
<form string="Import language">
<image name="gtk-dialog-info" colspan="2"/>
<group colspan="2" col="4">
<separator string="Import New Language" colspan="4"/>
<field name="name" width="200"/>
<field name="code"/>
<field name="data" colspan="4"/>
<label string="You have to import a .CSV file which is encoded in UTF-8.\n
Please check that the first line of your file is one of the following:" colspan="4" align="0.0"/>
<label string="type,name,res_id,src,value" colspan="4"/>
<label string="module,type,name,res_id,src,value" colspan="4"/>
<label string="You can also import .po files." colspan="4" align="0.0"/>
</group>
<notebook colspan="4">
<page string="Import Data">
<group colspan="2" col="4">
<separator string="Import New Language" colspan="4"/>
<field name="name" width="200"/>
<field name="code"/>
<field name="data" colspan="4"/>
</group>
</page>
<page string="Help">
<label string="You have to import a .CSV file which is encoded in UTF-8.\n
Please check that the first line of your file is one of the following:" colspan="4" align="0.0"/>
<label string="type,name,res_id,src,value" colspan="4"/>
<label string="module,type,name,res_id,src,value" colspan="4"/>
<label string="You can also import .po files." colspan="4" align="0.0"/>
</page>
</notebook>
</form>"""
fields_form={
@ -69,7 +74,7 @@ class wizard_import_lang(wizard.interface):
'actions': [],
'result': {'type': 'form', 'arch': view_form, 'fields': fields_form,
'state':[
('end', 'Cancel', 'gtk-cancel'),
('end', 'Close', 'gtk-cancel'),
('finish', 'Ok', 'gtk-ok', True)
]
}

View File

@ -13,6 +13,8 @@
<field name="direction"/>
<field name="translatable"/>
<field name="active"/>
<button name="%(base.action_wizard_update_translations)d"
string="Update Terms" type="action" icon="gtk-ok" help="Update Languague Terms"/>
</tree>
</field>
</record>
@ -98,13 +100,27 @@
</form>
</field>
</record>
<record id="res_lang_search" model="ir.ui.view">
<field name="name">res.lang.search</field>
<field name="model">res.lang</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Languages">
<field name="name"/>
<field name="code"/>
<field name="iso_code"/>
<field name="direction"/>
</search>
</field>
</record>
<record id="res_lang_act_window" model="ir.actions.act_window">
<field name="name">Languages</field>
<field name="res_model">res.lang</field>
<field name="view_type">form</field>
<field name="context">{'active_test': False}</field>
<field name="search_view_id" ref="res_lang_search"/>
</record>
<menuitem action="res_lang_act_window" id="menu_res_lang_act_window" parent="base.menu_translation_app"/>
<menuitem action="res_lang_act_window" id="menu_res_lang_act_window" parent="menu_translation"/>
</data>
</openerp>

View File

@ -23,56 +23,68 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Requests">
<field name="act_from" select="1"/>
<field name="act_to" select="1"/>
<field colspan="4" name="name" select="1"/>
<group colspan="4" col="6">
<field name="name" colspan="4"/>
<field name="create_date" string="Request Date"/>
<newline/>
<field name="act_from"/>
<field name="priority"/>
<field name="active"/>
</group>
<notebook colspan="4">
<page string="Request">
<field name="act_to"/>
<field name="trigger_date"/>
<separator colspan="4" string="Description"/>
<newline/>
<field colspan="4" name="body" select="2"/>
<field name="trigger_date" select="2"/>
<group col="2" colspan="2">
<field colspan="4" name="body" nolabel="1"/>
<group col="5" colspan="4">
<field name="state"/>
<button name="request_close" states="waiting,draft,active" string="End of Request" type="object"/>
<button name="request_send" states="draft,active" string="Send" type="object"/>
<button name="request_reply" states="waiting" string="Reply" type="object"/>
</group>
<separator colspan="4" string="References"/>
</page>
<page string="References" groups="base.group_extended">
<field name="ref_partner_id"/>
<field name="priority" select="2"/>
<field colspan="4" name="ref_doc1"/>
<field colspan="4" name="ref_doc2"/>
<separator colspan="4" string="Status"/>
<field name="state"/>
<group col="3" colspan="2">
<field name="active" select="2"/>
<button name="request_close" states="waiting,draft,active" string="End of Request" type="object"/>
</group>
</page>
<page string="History">
<page string="History" groups="base.group_extended">
<field colspan="4" name="history" nolabel="1" widget="one2many_list"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="res_request_search_view" model="ir.ui.view">
<field name="name">res.request.search</field>
<field name="model">res.request</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Requests">
<group colspan="4" col="10">
<field name="act_from"/>
<field name="act_to"/>
<field name="name"/>
<field name="state"/>
</group>
<newline/>
<group expand="0" string="Group By" colspan="4">
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
<record id="res_request-act" model="ir.actions.act_window">
<field name="name">My Requests</field>
<field name="name">Requests</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.request</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="res_request_search_view"/>
</record>
<menuitem id="next_id_12" name="Requests" parent="base.next_id_4"/>
<menuitem action="res_request-act" id="menu_res_request_act" parent="next_id_12"/>
<record id="res_request-closed" model="ir.actions.act_window">
<field name="name">My Closed Requests</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.request</field>
<field name="domain">[('active','=',False)]</field>
<field name="view_id" eval="False"/>
</record>
<menuitem action="res_request-closed" id="next_id_12_close" parent="menu_res_request_act"/>
<menuitem action="res_request-act" id="menu_res_request_act" parent="next_id_12" sequence="1"/>
<record id="res_request_link-view" model="ir.ui.view">
<field name="name">res.request.link.form</field>
@ -80,8 +92,8 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Request Link">
<field name="name" select="1"/>
<field name="object" select="1"/>
<field name="name"/>
<field name="object"/>
<field name="priority"/>
</form>
</field>
@ -97,15 +109,27 @@
</tree>
</field>
</record>
<record id="res_request_link_search_view" model="ir.ui.view">
<field name="name">res.request.link.search</field>
<field name="model">res.request.link</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Request Link">
<field name="name"/>
<field name="object"/>
</search>
</field>
</record>
<record id="res_request_link-act" model="ir.actions.act_window">
<field name="name">Accepted Links in Requests</field>
<field name="name">References Link</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.request.link</field>
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="res_request_link_search_view"/>
</record>
<menuitem action="res_request_link-act" id="menu_res_request_link_act" parent="base.next_id_12"/>
<menuitem action="res_request_link-act" id="menu_res_request_link_act" parent="base.next_id_12" sequence="4"/>
<record id="res_request_history_tree-view" model="ir.ui.view">

View File

@ -260,6 +260,8 @@ class users(osv.osv):
selection=[('simple','Simplified'),('extended','Extended')],
string='Interface', help="Choose between the simplified interface and the extended one"),
'user_email': fields.function(_email_get, method=True, fnct_inv=_email_set, string='Email', type="char", size=240),
'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to display tips on each menu action"),
}
def read(self,cr, uid, ids, fields=None, context=None, load='_classic_read'):
@ -349,6 +351,7 @@ class users(osv.osv):
'company_ids': _get_companies,
'groups_id': _get_group,
'address_id': False,
'menu_tips':True
}
@tools.cache()
@ -356,7 +359,7 @@ class users(osv.osv):
return self._get_company(cr, uid, context=context, uid2=uid2)
# User can write to a few of her own fields (but not her groups for example)
SELF_WRITEABLE_FIELDS = ['view', 'password', 'signature', 'action_id', 'company_id', 'user_email']
SELF_WRITEABLE_FIELDS = ['menu_tips','view', 'password', 'signature', 'action_id', 'company_id', 'user_email']
def write(self, cr, uid, ids, values, context=None):
if not hasattr(ids, '__iter__'):

View File

@ -153,11 +153,9 @@
<rng:choice>
<rng:ref name="field"/>
<rng:ref name="group"/>
<rng:ref name="label" />
<rng:ref name="separator"/>
<rng:ref name="filter"/>
<rng:ref name="search"/>
<rng:ref name="html"/>
<rng:element name="newline"><rng:empty/></rng:element>
<rng:element name="properties"><rng:empty/></rng:element>
</rng:choice>

View File

@ -108,7 +108,7 @@ class ExportService(object):
def __init__(self, name, audience=''):
ExportService._services[name] = self
self.__name = name
self._logger.info("Exported service registered: %s" % name)
self._logger.debug("Registered an exported service: %s" % name)
def joinGroup(self, name):
ExportService._groups.setdefault(name, {})[self.__name] = self

View File

@ -218,8 +218,6 @@ class browse_record(object):
raise KeyError('Field %s not found in %s'%(name,self))
# create browse records for 'remote' objects
for result_line in field_values:
if len(str(result_line['id']).split('-')) > 1:
result_line['id'] = int(str(result_line['id']).split('-')[0])
new_data = {}
for field_name, field_column in fields_to_fetch:
if field_column._type in ('many2one', 'one2one'):
@ -1923,12 +1921,12 @@ class orm_memory(orm_template):
self.vaccum(cr, user)
self.next_id += 1
id_new = self.next_id
default = []
for f in self._columns.keys():
if not f in vals:
default.append(f)
if len(default):
vals.update(self.default_get(cr, user, default, context))
# override defaults with the provided values, never allow the other way around
defaults = self.default_get(cr, user, [], context)
defaults.update(vals)
vals = defaults
vals2 = {}
upd_todo = []
for field in vals:
@ -2103,7 +2101,7 @@ class orm(orm_template):
if groupby:
if groupby and isinstance(groupby, list):
groupby = groupby[0]
tables, where_clause = self._inherits_join_calc(groupby,tables,where_clause)
tables, where_clause, qfield = self._inherits_join_calc(groupby,tables,where_clause)
if len(where_clause):
where_clause = ' where '+string.join(where_clause, ' and ')
@ -2194,6 +2192,9 @@ class orm(orm_template):
:param tables: list of table._table names enclosed in double quotes as returned
by _where_calc()
:param where_clause: current list of WHERE clause params
:return: (table, where_clause, qualified_field) where ``table`` and ``where_clause`` are the updated
versions of the parameters, and ``qualified_field`` is the qualified name of ``field``
in the form ``table.field``, to be referenced in queries.
"""
current_table = self
while field in current_table._inherit_fields and not field in current_table._columns:
@ -2201,7 +2202,7 @@ class orm(orm_template):
parent_table = self.pool.get(parent_model_name)
self._inherits_join_add(parent_model_name, tables, where_clause)
current_table = parent_table
return (tables, where_clause)
return (tables, where_clause, '"%s".%s' % (current_table._table, field))
def _parent_store_compute(self, cr):
if not self._parent_store:
@ -2468,15 +2469,24 @@ class orm(orm_template):
elif not f.required and f_pg_notnull == 1:
cr.execute('ALTER TABLE "%s" ALTER COLUMN "%s" DROP NOT NULL' % (self._table, k))
cr.commit()
# Verify index
indexname = '%s_%s_index' % (self._table, k)
cr.execute("SELECT indexname FROM pg_indexes WHERE indexname = %s and tablename = %s", (indexname, self._table))
res2 = cr.dictfetchall()
if not res2 and f.select:
cr.execute('CREATE INDEX "%s_%s_index" ON "%s" ("%s")' % (self._table, k, self._table, k))
cr.commit()
if f._type == 'text':
# FIXME: for fields.text columns we should try creating GIN indexes instead (seems most suitable for an ERP context)
logger.notifyChannel('orm', netsvc.LOG_WARNING, "Adding (b-tree) index for text column '%s' in table '%s'."\
"This is probably useless (does not work for fulltext search) and prevents INSERTs of long texts because there is a length limit for indexable btree values!\n"\
"Use a search view instead if you simply want to make the field searchable." % (k, f._type, self._table))
if res2 and not f.select:
cr.execute('DROP INDEX "%s_%s_index"' % (self._table, k))
cr.commit()
logger.notifyChannel('orm', netsvc.LOG_WARNING, "Dropping index for column '%s' of type '%s' in table '%s' as it is not required anymore" % (k, f._type, self._table))
if isinstance(f, fields.many2one):
ref = self.pool.get(f._obj)._table
if ref != 'ir_actions':
@ -3396,7 +3406,9 @@ class orm(orm_template):
if default_values[dv] and isinstance(default_values[dv][0], (int, long)):
default_values[dv] = [(6, 0, default_values[dv])]
vals.update(default_values)
# override defaults with the provided values, never allow the other way around
default_values.update(vals)
vals = default_values
tocreate = {}
for v in self._inherits:
@ -3824,11 +3836,8 @@ class orm(orm_template):
elif (o in self._inherit_fields):
parent_obj = self.pool.get(self._inherit_fields[o][0])
if getattr(parent_obj._columns[o], '_classic_read'):
# Allowing inherits'ed field for server side sorting
inherited_tables, inherit_join = self._inherits_join_calc(o, tables, where_clause)
if inherited_tables:
inherited_sort_table = inherited_tables[0]
order_by = inherited_sort_table + '.' + order
# Allowing inherits'ed field for server side sorting, if they can be sorted by the dbms
inherited_tables, inherit_join, order_by = self._inherits_join_calc(o, tables, where_clause)
limit_str = limit and ' limit %d' % limit or ''
offset_str = offset and ' offset %d' % offset or ''

View File

@ -214,7 +214,8 @@ class FloatObject(decimal.Decimal, PdfObject):
class NumberObject(int, PdfObject):
def __init__(self, value):
int.__init__(self, value)
int.__init__(self)
self = value
def writeToStream(self, stream, encryption_key):
stream.write(repr(self))
@ -404,7 +405,8 @@ class NameObject(str, PdfObject):
delimiterCharacters = "(", ")", "<", ">", "[", "]", "{", "}", "/", "%"
def __init__(self, data):
str.__init__(self, data)
str.__init__(self)
self = data
def writeToStream(self, stream, encryption_key):
stream.write(self)

View File

@ -50,7 +50,6 @@ import utils
import warnings
from generic import *
from utils import readNonWhitespace, readUntilWhitespace, ConvertFunctionsToVirtualList
from sets import ImmutableSet
##
# This class supports writing PDF files out, given pages produced by another
@ -987,8 +986,8 @@ class PageObject(DictionaryObject):
# Combine /ProcSet sets.
newResources[NameObject("/ProcSet")] = ArrayObject(
ImmutableSet(originalResources.get("/ProcSet", ArrayObject()).getObject()).union(
ImmutableSet(page2Resources.get("/ProcSet", ArrayObject()).getObject())
frozenset(originalResources.get("/ProcSet", ArrayObject()).getObject()).union(
frozenset(page2Resources.get("/ProcSet", ArrayObject()).getObject())
)
)