[MERGE] Merged with server/trunk.

bzr revid: tde@openerp.com-20120803071431-x7ein6wfehuikphr
This commit is contained in:
Thibault Delavallée 2012-08-03 09:14:31 +02:00
commit 9025c59cb3
16 changed files with 157 additions and 191 deletions

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-07-28 00:51+0000\n"
"PO-Revision-Date: 2012-08-02 17:18+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-29 04:36+0000\n"
"X-Generator: Launchpad (build 15694)\n"
"X-Launchpad-Export-Date: 2012-08-03 05:45+0000\n"
"X-Generator: Launchpad (build 15734)\n"
#. module: base
#: model:res.country,name:base.sh
@ -283,7 +283,7 @@ msgstr "イヌクウティトット語 / Inuktitut"
#: model:ir.module.category,name:base.module_category_sales_management
#: model:ir.module.module,shortdesc:base.module_sale
msgid "Sales Management"
msgstr "セールス管理"
msgstr "受注管理"
#. module: base
#: view:res.partner:0
@ -3795,7 +3795,7 @@ msgstr "ホスト名またはSMTPサーバのIPアドレス"
#. module: base
#: selection:base.language.install,lang:0
msgid "Japanese / 日本語"
msgstr "Japanese / 日本語"
msgstr "日本語 / Japanese"
#. module: base
#: field:ir.actions.report.xml,auto:0
@ -6961,7 +6961,7 @@ msgstr ""
#: field:res.request,act_to:0
#: field:res.request.history,act_to:0
msgid "To"
msgstr ""
msgstr "宛先"
#. module: base
#: view:ir.sequence:0
@ -7472,7 +7472,7 @@ msgstr "アクセスの作成"
#: field:res.partner.address,state_id:0
#: field:res.partner.bank,state_id:0
msgid "Fed. State"
msgstr ""
msgstr "都道府県"
#. module: base
#: field:ir.actions.server,copy_object:0
@ -8215,7 +8215,7 @@ msgstr "中国語 / 简体中文"
#: field:res.partner.address,street:0
#: field:res.partner.bank,street:0
msgid "Street"
msgstr ""
msgstr "町名番地"
#. module: base
#: model:res.country,name:base.yu
@ -12022,7 +12022,7 @@ msgstr "%m - 月[01,12]."
#: field:res.partner.address,city:0
#: field:res.partner.bank,city:0
msgid "City"
msgstr "市"
msgstr "市区町村"
#. module: base
#: model:res.country,name:base.qa
@ -12982,7 +12982,7 @@ msgstr "発注時の二重検証"
#: field:res.company,street2:0
#: field:res.partner.address,street2:0
msgid "Street2"
msgstr ""
msgstr "町名番地2"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_base_module_update

View File

@ -71,7 +71,6 @@
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('model','ilike',self), ('key2','ilike',self)]"
string="Client Action"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Model" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'key2'}"/>
@ -203,7 +202,6 @@
<search string="Sequences">
<field name="name" string="Sequence"/>
<field name="code"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
@ -392,12 +390,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Report Xml">
<group col="10" colspan="4">
<field name="name"
filter_domain="['|', '|', '|', '|', ('name','ilike',self), ('model','ilike',self), ('type','ilike',self), ('report_name','ilike',self), ('report_type','ilike',self)]"
string="Report"/>
</group>
<newline/>
<field name="name"
filter_domain="['|', '|', '|', '|', ('name','ilike',self), ('model','ilike',self), ('type','ilike',self), ('report_name','ilike',self), ('report_type','ilike',self)]"
string="Report"/>
<group expand="0" string="Group By" colspan="4">
<filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'report_type'}"/>
</group>
@ -499,11 +494,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Open a Window">
<group col="10" colspan="4">
<field name="name" filter_domain="['|', ('name','ilike',self), ('res_model','ilike',self)]" string="Action"/>
<field name="view_type"/>
</group>
<newline/>
<field name="name" filter_domain="['|', ('name','ilike',self), ('res_model','ilike',self)]" string="Action"/>
<field name="view_type"/>
<group expand="0" string="Group By" colspan="4">
<filter string="View Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'view_type'}"/>
</group>
@ -661,7 +653,6 @@
<field name="arch" type="xml">
<search string="Views">
<field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="View"/>
<separator orientation="vertical"/>
<filter icon="terp-stock_zoom"
string="Search"
domain="[('type', '=', 'search')]"/>
@ -671,10 +662,8 @@
<filter icon="gtk-new"
string="Form"
domain="[('type', '=','form')]"/>
<separator orientation="vertical"/>
<field name="inherit_id"/>
<field name="type"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
@ -802,31 +791,26 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Attachments">
<group colspan="4" col="10">
<field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
<field name="create_date"/>
<separator orientation="vertical"/>
<filter icon="terp-stage"
string="URL"
domain="[('type','=','url')]"/>
<filter icon="terp-stock_align_left_24"
string="Binary"
domain="[('type','=','binary')]"/>
<filter name="my_documents_filter"
string="My Document(s)"
icon="terp-personal"
domain="[('create_uid','=',uid)]"
help="Filter on my documents"/>
<separator orientation="vertical"/>
<field name="create_uid"/>
<field name="type"/>
</group>
<newline/>
<field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
<field name="create_date"/>
<filter icon="terp-stage"
string="URL"
domain="[('type','=','url')]"/>
<filter icon="terp-stock_align_left_24"
string="Binary"
domain="[('type','=','binary')]"/>
<separator/>
<filter name="my_documents_filter"
string="My Document(s)"
icon="terp-personal"
domain="[('create_uid','=',uid)]"
help="Filter on my documents"/>
<field name="create_uid"/>
<field name="type"/>
<group expand="0" string="Group By...">
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'create_uid'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
<filter string="Company" icon="terp-gtk-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
</group>
</search>
@ -955,10 +939,10 @@
<field name="arch" type="xml">
<search string="Model Description">
<field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="Model"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test"
string="In Memory"
domain="[('osv_memory', '=', True)]"/>
<separator/>
<filter icon="terp-stock_align_left_24"
string="Custom"
domain="[('state', '=', 'manual')]"/>
@ -1035,22 +1019,21 @@
<field name="arch" type="xml">
<search string="Fields">
<field name="name" filter_domain="['|', ('name','ilike',self), ('field_description','ilike',self)]" string="Field"/>
<separator orientation="vertical"/>
<filter icon="terp-gnome-cpu-frequency-applet+"
string="Required"
domain="[('required', '=', True)]"/>
<separator/>
<filter icon="terp-dialog-close"
string="Readonly"
domain="[('readonly', '=', True)]"/>
<separator/>
<filter icon="terp-translate"
string="Translate"
domain="[('translate', '=', True)]"/>
<newline/>
<field name="model_id"/>
<field name="ttype"/>
<field name="required"/>
<field name="readonly"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
</group>
@ -1107,14 +1090,11 @@
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('model','ilike',self), ('module','ilike',self)]"
string="External Identifier"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test"
string="Updatable"
domain="[('noupdate', '=', False)]"/>
<separator orientation="vertical"/>
<field name="res_id"/>
<field name="noupdate"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Module" icon="terp-folder-blue" domain="[]" context="{'group_by':'module'}"/>
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model'}"/>
@ -1240,7 +1220,6 @@
<filter icon="terp-gdu-smart-failing"
string="Untranslated"
domain="['|',('value', '=', False),('value','=','')]"/>
<separator orientation="vertical"/>
<field name="lang"/>
<field name="src"/>
<field name="value"/>
@ -1469,11 +1448,9 @@
<field name="arch" type="xml">
<search string="Scheduled Actions">
<field name="name" string="Scheduled Action"/>
<separator orientation="vertical"/>
<field name="user_id" widget="selection"/>
<field name="user_id"/>
<field name="nextcall"/>
<field name="active"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Execution" icon="terp-go-month"
@ -1554,18 +1531,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Access Controls">
<group>
<field name="name" string="Access Control"/>
<separator orientation="vertical"/>
<filter string="Global" icon="terp-stage" domain="[('group_id','=',False)]"/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<separator orientation="vertical"/>
<field name="model_id"/>
<field name="group_id"/>
</group>
<newline/>
<field name="name" string="Access Control"/>
<filter string="Global" icon="terp-stage" domain="[('group_id','=',False)]"/>
<separator/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<field name="model_id"/>
<field name="group_id"/>
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_no_one">
<filter string="Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/>
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
@ -1651,17 +1624,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Record Rules">
<group>
<field name="name" string="Record Rule"/>
<separator orientation="vertical"/>
<filter string="Global" icon="terp-stage" domain="[('global','=',True)]"/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<separator orientation="vertical"/>
<field name="model_id"/>
<field name="groups"/>
</group>
<field name="name" string="Record Rule"/>
<filter string="Global" icon="terp-stage" domain="[('global','=',True)]"/>
<separator/>
<filter string="Full Access" icon="terp-gtk-select-all" domain="[('perm_read','=',True),('perm_write','=',True),('perm_create','=',True),('perm_unlink','=',True)]"/>
<filter string="Read Access" icon="terp-stock_align_left_24" domain="[('perm_read','=',True)]"/>
<filter string="Write Access" icon="terp-tools" domain="[('perm_write','=',True)]"/>
<field name="model_id"/>
<field name="groups"/>
</search>
</field>
</record>
@ -1794,13 +1764,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Server Actions">
<group col="10" colspan="4">
<field name="name" string="Server Action"/>
<separator orientation="vertical"/>
<field name="model_id"/>
<field name="state"/>
</group>
<newline/>
<field name="name" string="Server Action"/>
<field name="model_id"/>
<field name="state"/>
<group expand="0" string="Group By" colspan="4" col="4">
<filter string="Action Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'state'}"/>
</group>
@ -1878,14 +1844,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Actions">
<group>
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
<separator orientation="vertical"/>
<field name="action_id"/>
<field name="category_id"/>
<field name="state"/>
</group>
<newline/>
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
<field name="action_id"/>
<field name="category_id"/>
<field name="state"/>
<group expand="0" string="Group By...">
<filter string="Category" context="{'group_by': 'category_id'}" icon="terp-folder-orange"/>
</group>

View File

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

View File

@ -164,16 +164,13 @@
<field name="arch" type="xml">
<search string="Workflow Activity">
<field name="name" string="Workflow Activity"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test" string="Flow Start"
domain="[('flow_start', '=',True)]" />
<filter icon="terp-gtk-stop" string="Flow Stop"
domain="[('flow_stop', '=',True)]" />
<separator orientation="vertical"/>
<field name="wkf_id"/>
<field name="action_id"/>
<field name="kind"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Workflow" icon="terp-stage" domain="[]" context="{'group_by':'wkf_id'}"/>
</group>
@ -242,7 +239,6 @@
<field name="arch" type="xml">
<search string="Transition">
<field name="signal" filter_domain="['|', ('signal','ilike',self), ('condition','ilike',self)]" string="Workflow Transition"/>
<separator orientation="vertical"/>
<field name="act_from"/>
<field name="act_to"/>
</search>
@ -301,10 +297,8 @@
<field name="arch" type="xml">
<search string="Workflow Instances">
<field name="res_type" string="Resource Object"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test" string="Active" domain="[('state','=','active')]" name="active"/>
<separator orientation="vertical"/>
<field name="wkf_id" widget="selection"/>
<field name="wkf_id"/>
<field name="res_id"/>
<field name="state"/>
</search>
@ -366,10 +360,8 @@
<field name="arch" type="xml">
<search string="Workflow Workitems">
<field name="state" string="State"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test" string="Active" name="active" domain="[('state','=','active')]"/>
<separator orientation="vertical"/>
<field name="wkf_id" widget="selection"/>
<field name="wkf_id"/>
<field name="act_id"/>
<field name="subflow_id"/>
<field name="inst_id"/>

View File

@ -91,7 +91,7 @@
</record>
<record model="ir.module.category" id="module_category_point_of_sale">
<field name="name">Point of Sales</field>
<field name="name">Point of Sale</field>
<field name="description">Helps you get the most out of your points of sales with fast sale encoding, simplified payment mode encoding, automatic picking lists generation and more.</field>
<field name="sequence">13</field>
</record>

View File

@ -41,21 +41,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search modules">
<group col='10' colspan='4'>
<field name="name" filter_domain="['|', ('name','ilike',self), ('shortdesc','ilike',self)]" string="Module"/>
<field name="description" string="Keywords" filter_domain="['|', ('description', 'ilike', self), ('summary', 'ilike', self)]"/>
<separator orientation="vertical"/>
<filter name="app" icon="terp-check" string="Apps" domain="[('application', '=', 1)]"/>
<filter name="extra" icon="terp-check" string="Extra" domain="[('application', '=', 0)]"/>
<filter icon="terp-check" string="Installed" domain="[('state', 'in', ['installed', 'to upgrade', 'to remove'])]"/>
<filter icon="terp-dialog-close" string="Not Installed" domain="[('state', 'in', ['uninstalled', 'uninstallable', 'to install'])]"/>
<separator orientation="vertical"/>
<field name="category_id"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'author'}"/>
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
</group>
<field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Module"/>
<field name="description" string="Keywords" filter_domain="['|', '|', ('description', 'ilike', self), ('summary', 'ilike', self), ('shortdesc', 'ilike', self)]"/>
<filter name="app" icon="terp-check" string="Apps" domain="[('application', '=', 1)]"/>
<filter name="extra" icon="terp-check" string="Extra" domain="[('application', '=', 0)]"/>
<separator/>
<filter icon="terp-check" string="Installed" domain="[('state', 'in', ['installed', 'to upgrade', 'to remove'])]"/>
<filter icon="terp-dialog-close" string="Not Installed" domain="[('state', 'in', ['uninstalled', 'uninstallable', 'to install'])]"/>
<field name="category_id"/>
<group expand="0" string="Group By...">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'author'}"/>
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
</group>
</search>
</field>
@ -120,7 +116,7 @@
<div class="oe_title">
<h1><field name="shortdesc"/></h1>
<h2 class="oe_fade"><field name="summary"/></h2>
<button name="button_install" states="uninstalled" string="Install" type="object" class="oe_highlight"/>
<button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="oe_highlight"/>
<button name="button_upgrade" states="installed" string="Upgrade" type="object" class="oe_highlight"/>
<button name="button_uninstall" states="installed" string="Uninstall" type="object"
confirm="Do you confirm the uninstallation of this module? This will permanently erase all data currently stored by the module!"/>
@ -131,7 +127,7 @@
<group>
<group>
<field name="author"/>
<field name="website" widget="url"/>
<field name="website" widget="url" attrs="{'invisible':[('website','=',False)]}"/>
<field name="category_id" widget="selection"/>
</group>
<group>
@ -144,12 +140,14 @@
<page string="Description">
<field name="description"/>
</page>
<page string="Technical Data">
<page string="Technical Data" groups="base.group_no_one">
<group col="4">
<field name="demo"/>
<field name="application"/>
<field name="state"/>
</group>
<label for="views_by_module" string="Created Views"/>
<field name="views_by_module"/>
<label for="dependencies_id"/>
<field name="dependencies_id">
<tree string="Dependencies">
@ -161,8 +159,6 @@
<page string="Features" attrs="{'invisible':[('state','!=','installed')]}">
<label for="menus_by_module" string="Created Menus"/>
<field name="menus_by_module"/>
<label for="views_by_module" string="Created Views"/>
<field name="views_by_module"/>
<label for="reports_by_module" string="Defined Reports"/>
<field name="reports_by_module"/>
</page>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem id="menu_publisher_warranty" name="OpenERP Entreprise" parent="base.menu_administration" sequence="5"
<menuitem id="menu_publisher_warranty" name="OpenERP Enterprise" parent="base.menu_administration" sequence="5"
groups="base.group_no_one"/>
<record id="publisher_warranty_contract_tree_view" model="ir.ui.view">

View File

@ -9,12 +9,10 @@
<field name="arch" type="xml">
<search string="Parameters">
<field name="name" string="Name"/>
<separator orientation="vertical"/>
<filter icon="terp-project"
string="Generic"
help="Parameters that are used by all resources."
domain="[('res_id','=',False)]"/>
<separator orientation="vertical"/>
<field name="fields_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</search>

View File

@ -146,9 +146,7 @@
<field name="arch" type="xml">
<search string="Bank Accounts">
<field name="bank_name" filter_domain="['|', ('bank_name','ilike',self), ('acc_number','ilike',self)]" string="Bank Name"/>
<separator orientation="vertical"/>
<filter name="my_bank" icon="terp-check" string="My Banks" domain="[('company_id','&lt;&gt;',False)]" help="Bank accounts belonging to one of your companies"/>
<separator orientation="vertical"/>
<field name="company_id" invisible="context.get('company_hide', True)"/>
<field name="partner_id"/>
</search>

View File

@ -178,8 +178,8 @@
<field name="arch" type="xml">
<search string="Multi Company">
<field name="name" string="Name"/>
<field name="company_id" widget="selection"/>
<field name="company_dest_id" widget="selection"/>
<field name="company_id"/>
<field name="company_dest_id"/>
<field name="object_id"/>
</search>
</field>

View File

@ -108,15 +108,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Languages">
<group>
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('code','ilike',self), ('iso_code','ilike',self)]"
string="Language"/>
<separator orientation="vertical"/>
<filter string="Translatable" icon="terp-tools" domain="[('translatable','=',True)]"/>
<separator orientation="vertical"/>
<field name="direction"/>
</group>
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('code','ilike',self), ('iso_code','ilike',self)]"
string="Language"/>
<filter string="Translatable" icon="terp-tools" domain="[('translatable','=',True)]"/>
<field name="direction"/>
</search>
</field>
</record>

View File

@ -154,7 +154,7 @@ class res_partner(osv.osv):
'name': fields.char('Name', size=128, required=True, select=True),
'date': fields.date('Date', select=1),
'title': fields.many2one('res.partner.title','Title'),
'parent_id': fields.many2one('res.partner','Company'),
'parent_id': fields.many2one('res.partner', 'Owned by'),
'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts'),
'ref': fields.char('Reference', size=64, select=1),
'lang': fields.selection(_lang_get, 'Language', help="If the selected language is loaded in the system, all documents related to this partner will be printed in this language. If not, it will be english."),
@ -180,7 +180,7 @@ class res_partner(osv.osv):
'street2': fields.char('Street2', size=128),
'zip': fields.char('Zip', change_default=True, size=24),
'city': fields.char('City', size=128),
'state_id': fields.many2one("res.country.state", 'State', domain="[('country_id','=',country_id)]"),
'state_id': fields.many2one("res.country.state", 'State'),
'country_id': fields.many2one('res.country', 'Country'),
'country': fields.related('country_id', type='many2one', relation='res.country', string='Country'), # for backward compatibility
'email': fields.char('Email', size=240),

View File

@ -101,23 +101,23 @@
<sheet>
<field name="image_small" widget='image' class="oe_avatar oe_left" on_change="onchange_image(image_small)"/>
<div class="oe_title">
<div class="oe_edit_only">
<label for="name" string="Customer Name"/>
(<field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
</div>
<h1>
<field name="name" default_focus="1"/>
<field name="name" default_focus="1" placeholder="Name" />
</h1>
<field name="category_id" widget="many2many_tags" placeholder="Select Tags"/>
<field name="parent_id"
string="Work for Company"
domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
attrs="{'invisible': [('is_company','=', True)]}"
on_change="onchange_address(use_parent_address, parent_id)"/>
<div class="oe_edit_only">
<field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Company?"/>
<field name="category_id" widget="many2many_tags" placeholder="Select Tags"/>
</div>
</div>
<div class="oe_right oe_button_box" name="buttons"> </div>
<group>
<group>
<field name="parent_id"
domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
attrs="{'invisible': [('is_company','=', True)]}"
on_change="onchange_address(use_parent_address, parent_id)"/>,
<label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
<div attrs="{'invisible': [('parent_id','=', False)]}">
<field class="oe_inline"
@ -245,22 +245,20 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Partner">
<group col='10' colspan='4'>
<field name="name"
filter_domain="['|','|',('name','ilike',self),('parent_id','ilike',self),('ref','=',self)]"
string="Partner"/>
<separator orientation="vertical"/>
<filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
<filter string="Persons" name="type_person" icon="terp-personal" domain="[('is_company','=',0)]"/>
<filter string="Companies" name="type_company" icon="terp-partner" domain="[('is_company','=',1)]"/>
<filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
<filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
<separator orientation="vertical"/>
<field name="category_id"/>
<field name="user_id"/>
<field name="parent_id" filter_domain="[('parent_id','child_of',[self])]"/>
</group>
<newline />
<field name="name"
filter_domain="['|','|',('name','ilike',self),('parent_id','ilike',self),('ref','=',self)]"
string="Partner"/>
<filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
<separator/>
<filter string="Persons" name="type_person" icon="terp-personal" domain="[('is_company','=',0)]"/>
<filter string="Companies" name="type_company" icon="terp-partner" domain="[('is_company','=',1)]"/>
<separator/>
<filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
<separator/>
<filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
<field name="category_id"/>
<field name="user_id"/>
<field name="parent_id" filter_domain="[('parent_id','child_of',[self])]"/>
<group expand="0" string="Group By...">
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
<filter string="Company" context="{'group_by': 'parent_id'}"/>

View File

@ -2,6 +2,16 @@
<openerp>
<data>
<!-- res.groups -->
<record id="view_groups_search" model="ir.ui.view">
<field name="name">res.groups.search</field>
<field name="model">res.groups</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Groups">
<field name="name" filter_domain="['|', ('name','ilike',self), ('category_id','ilike',self)]" string="Group"/>
</search>
</field>
</record>
<record id="view_groups_form" model="ir.ui.view">
<field name="name">res.groups.form</field>
<field name="model">res.groups</field>

View File

@ -122,6 +122,7 @@ start the server specifying the --unaccent flag.
"""
import logging
import traceback
from openerp.tools import flatten, reverse_enumerate
import fields
@ -426,6 +427,7 @@ class expression(object):
# If the field is _inherits'd, search for the working_table,
# and extract the field.
field = None
if field_path[0] in table._inherit_fields:
while True:
field = working_table._columns.get(field_path[0])
@ -474,6 +476,13 @@ class expression(object):
# the function field doesn't provide a search function and doesn't store
# values in the database, so we must ignore it : we generate a dummy leaf
self.__exp[i] = TRUE_LEAF
_logger.error(
"The field '%s' (%s) can not be searched: non-stored "
"function field without fnct_search",
field.string, left)
# avoid compiling stack trace if not needed
if _logger.isEnabledFor(logging.DEBUG):
_logger.debug(''.join(traceback.format_stack()))
else:
subexp = field.search(cr, uid, table, left, [self.__exp[i]], context=context)
if not subexp:

View File

@ -657,7 +657,7 @@ class BaseModel(object):
_columns = {}
_constraints = []
_defaults = {}
_rec_name = 'name'
_rec_name = None
_parent_name = 'parent_id'
_parent_store = False
_parent_order = False
@ -1054,6 +1054,13 @@ class BaseModel(object):
assert self._log_access, "TransientModels must have log_access turned on, "\
"in order to implement their access rights policy"
# Validate rec_name
if self._rec_name is not None:
assert self._rec_name in self._columns.keys() + ['id'], "Invalid rec_name %s for model %s" % (self._rec_name, self._name)
else:
self._rec_name = 'name'
def __export_row(self, cr, uid, row, fields, context=None):
if context is None:
context = {}
@ -1567,6 +1574,12 @@ class BaseModel(object):
res.extend(self.pool.get(parent).fields_get_keys(cr, user, context))
return res
def _rec_name_fallback(self, cr, uid, context=None):
rec_name = self._rec_name
if rec_name not in self._columns:
rec_name = self._columns.keys()[0] if len(self._columns.keys()) > 0 else "id"
return rec_name
#
# Overload this method if you need a window title which depends on the context
#
@ -1859,8 +1872,7 @@ class BaseModel(object):
return view
def _get_default_search_view(self, cr, user, context=None):
""" Generates a single-field tree view, using _rec_name if
it's one of the columns or the first column it finds otherwise
""" Generates a single-field search view, based on _rec_name.
:param cr: database cursor
:param int user: user id
@ -1868,17 +1880,12 @@ class BaseModel(object):
:returns: a tree view as an lxml document
:rtype: etree._Element
"""
_rec_name = self._rec_name
if _rec_name not in self._columns:
_rec_name = self._columns.keys()[0] if len(self._columns.keys()) > 0 else "id"
view = etree.Element('search', string=self._description)
etree.SubElement(view, 'field', name=_rec_name)
etree.SubElement(view, 'field', name=self._rec_name_fallback(cr, user, context))
return view
def _get_default_tree_view(self, cr, user, context=None):
""" Generates a single-field tree view, using _rec_name if
it's one of the columns or the first column it finds otherwise
""" Generates a single-field tree view, based on _rec_name.
:param cr: database cursor
:param int user: user id
@ -1886,12 +1893,8 @@ class BaseModel(object):
:returns: a tree view as an lxml document
:rtype: etree._Element
"""
_rec_name = self._rec_name
if _rec_name not in self._columns:
_rec_name = self._columns.keys()[0] if len(self._columns.keys()) > 0 else "id"
view = etree.Element('tree', string=self._description)
etree.SubElement(view, 'field', name=_rec_name)
etree.SubElement(view, 'field', name=self._rec_name_fallback(cr, user, context))
return view
def _get_default_calendar_view(self, cr, user, context=None):
@ -1918,7 +1921,7 @@ class BaseModel(object):
return False
view = etree.Element('calendar', string=self._description)
etree.SubElement(view, 'field', name=self._rec_name)
etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))
if (self._date_name not in self._columns):
date_found = False
@ -2276,8 +2279,13 @@ class BaseModel(object):
return []
if isinstance(ids, (int, long)):
ids = [ids]
return [(r['id'], tools.ustr(r[self._rec_name])) for r in self.read(cr, user, ids,
[self._rec_name], context, load='_classic_write')]
rec_name = self._rec_name
if rec_name not in self._columns:
res = [(r['id'], "%s,%s"%(self._name,r['id'])) for r in self.read(cr, user, ids, ['id'], context, load='_classic_write')]
else:
res = [(r['id'], tools.ustr(r[rec_name])) for r in self.read(cr, user, ids, [rec_name], context, load='_classic_write')]
return res
def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100):
"""Search for records that have a display name matching the given ``name`` pattern if compared