[MERGE] forward port of branch 8.0 up to 591e329
[odoo/odoo.git] / openerp / addons / base / res / res_partner_view.xml
index 4f3897e..e0e564f 100644 (file)
@@ -10,7 +10,7 @@
 
             <menuitem id="base.menu_sales" parent="base.menu_base_partner" name="Sales" sequence="1" />
             <menuitem id="menu_base_config" parent="menu_base_partner" name="Configuration" sequence="30" groups="group_system"/>
-            <menuitem id="menu_config_address_book" parent="menu_base_config" name="Address Book" sequence="40" groups="group_system"/>
+            <menuitem id="menu_config_address_book" parent="menu_base_config" name="Contacts" sequence="4" groups="group_system"/>
 
         <!-- Partner Titles -->
         <record id="view_partner_title_tree" model="ir.ui.view">
@@ -27,7 +27,7 @@
             <field name="name">res.partner.title.form</field>
             <field name="model">res.partner.title</field>
             <field name="arch" type="xml">
-                <form string="Partner Titles" version="7.0">
+                <form string="Partner Titles">
                     <group col="4">
                         <field name="name"/>
                         <field name="shortcut"/>
@@ -47,7 +47,7 @@
         -->
 
         <record id="action_partner_title_partner" model="ir.actions.act_window">
-            <field name="name">Titles</field>
+            <field name="name">Company Titles</field>
             <field name="type">ir.actions.act_window</field>
             <field name="res_model">res.partner.title</field>
             <field name="view_type">form</field>
             <field eval="8" name="priority"/>
             <field name="arch" type="xml">
                 <tree string="Contacts">
-                    <field name="name"/>
+                    <field name="display_name"/>
                     <field name="function" invisible="1"/>
                     <field name="phone"/>
                     <field name="email"/>
                     <field name="user_id" invisible="1"/>
                     <field name="is_company" invisible="1"/>
-                    <field name="country" invisible="1"/>
                     <field name="country_id" invisible="1"/>
                     <field name="parent_id" invisible="1"/>
                 </tree>
@@ -94,7 +93,7 @@
             <field name="name">res.partner.simplified.form</field>
             <field name="model">res.partner</field>
             <field name="arch" type="xml">
-                <form string="Contact" version="7.0">
+                <form string="Contact">
                     <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
                     <div class="oe_title">
                         <div class="oe_edit_only">
                             placeholder="Company"
                             domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
                             attrs="{'invisible': [('is_company','=', True)]}"/>
-                        <group>
-                            <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
-                            <field name="function" placeholder="e.g. Sales Director"/>
-                            <field name="email" required="context.get('force_email', False)"/>
-                            <field name="phone"/>
-                            <field name="mobile"/>
-                        </group>
                     </div>
+                    <group>
+                        <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
+                        <field name="function" placeholder="e.g. Sales Director"/>
+                        <field name="user_ids" invisible="1"/>
+                        <field name="email" widget="email" required="context.get('force_email', False)" attrs="{'required': [('user_ids','!=', [])]}"/>
+                        <field name="phone"/>
+                        <field name="mobile"/>
+                    </group>
                 </form>
             </field>
         </record>
             <field name="model">res.partner</field>
             <field eval="1" name="priority"/>
             <field name="arch" type="xml">
-                <form string="Partners" version="7.0">
+                <form string="Partners">
                 <sheet>
                     <field name="image" widget='image' class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
-                    <div class="oe_title">
+                    <div class="oe_title oe_left">
                         <div class="oe_edit_only">
                             <label for="name"/> (
                             <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
                         </h1>
                         <field name="parent_id"
                             placeholder="Company"
-                            domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
-                            attrs="{'invisible': [('is_company','=', True)]}"
+                            domain="[('is_company', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer}"
+                            attrs="{'invisible': [('is_company','=', True),('parent_id', '=', False)]}"
                             on_change="onchange_address(use_parent_address, parent_id)"/>
                         <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
                     </div>
 
                     <group>
                         <group>
-                            <label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
-                            <div attrs="{'invisible': [('parent_id','=', False)]}" name="div_type">
+                            <label for="type" attrs="{'invisible': [('parent_id','=', False)]}" groups="base.group_no_one"/>
+                            <div attrs="{'invisible': [('parent_id','=', False)]}" name="div_type" groups="base.group_no_one">
                                 <field class="oe_inline"
                                     name="type"/>
-                                <label for="use_parent_address" class="oe_edit_only"/>
-                                <field name="use_parent_address" class="oe_edit_only oe_inline"
-                                    on_change="onchange_address(use_parent_address, parent_id)"/>
                             </div>
 
                             <label for="street" string="Address"/>
                             <div>
-                                <field name="street" placeholder="Street..."/>
-                                <field name="street2"/>
+                                <div class="oe_edit_only">
+                                    <field name="use_parent_address" class="oe_inline"
+                                           on_change="onchange_address(use_parent_address, parent_id)"
+                                           attrs="{'invisible': ['|', ('is_company', '=', True),('parent_id', '=', False)]}"/>
+                                    <label for="use_parent_address" attrs="{'invisible': ['|', ('is_company', '=', True), ('parent_id', '=', False)]}"/>
+                                </div>
+                                <button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only"
+                                        attrs="{'invisible': ['|',('parent_id','=', False),('use_parent_address','=',False)]}"/>
+                                <field name="street" placeholder="Street..."  attrs="{'readonly': [('use_parent_address','=',True)]}"/>
+                                <field name="street2"  attrs="{'readonly': [('use_parent_address','=',True)]}"/>
                                 <div class="address_format">
-                                    <field name="city" placeholder="City" style="width: 40%%"/>
-                                    <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
-                                    <field name="zip" placeholder="ZIP" style="width: 20%%"/>
+                                    <field name="city" placeholder="City" style="width: 40%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
+                                    <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
+                                    <field name="zip" placeholder="ZIP" style="width: 20%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
                                 </div>
-                                <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
+                                <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}' attrs="{'readonly': [('use_parent_address','=',True)]}"/>
                             </div>
-                            <field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
+                            <field name="website" widget="url" placeholder="e.g. www.odoo.com"/>
                         </group>
                         <group>
                             <field name="function" placeholder="e.g. Sales Director"
                             <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
                             <field name="mobile"/>
                             <field name="fax"/>
-                            <field name="email" widget="email"/>
-                            <field name="title" domain="[('domain', '=', 'contact')]"
-                                options='{"no_open": True}' attrs="{'invisible': [('is_company','=', True)]}" />
+                            <field name="user_ids" invisible="1"/>
+                            <field name="email" widget="email" attrs="{'required': [('user_ids','!=', [])]}"/>
+                            <field name="title" options='{"no_open": True}'/>
                         </group>
                     </group>
 
                     <notebook colspan="4">
-                        <page string="Contacts" attrs="{'invisible': [('is_company','=',False)]}">
-                            <field name="child_ids" context="{'default_parent_id': active_id}" mode="kanban">
+                        <page string="Contacts" attrs="{'invisible': [('is_company','=',False), ('child_ids', '=', [])]}" autofocus="autofocus">
+                            <field name="child_ids" mode="kanban" context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_use_parent_address': True}">
                                 <kanban>
                                     <field name="color"/>
                                     <field name="name"/>
                                             <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')" style="position: relative">
                                                 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
                                                 <div class="oe_module_vignette">
-                                                <a type="open">
+                                                <a type="open" class="col-md-2">
                                                     <t t-if="record.has_image.raw_value === true">
                                                         <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
                                                     </t>
                                                 </a>
                                                     <div class="oe_module_desc">
                                                         <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_color_border">
-                                                            <table class="oe_kanban_table">
-                                                                <tr>
-                                                                    <td class="oe_kanban_title1" align="left" valign="middle">
-                                                                        <h4><a type="open"><field name="name"/></a></h4>
+                                                              <div class="col-md-12">
+                                                                 <div>
+                                                                     <h4><a type="open"><field name="name"/></a></h4>
                                                                         <i><div t-if="record.function.raw_value">
                                                                             <field name="function"/></div></i>
                                                                         <div><a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value">
                                                                         <div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
                                                                         <div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
                                                                         <div t-if="record.fax.raw_value">Fax: <field name="fax"/></div>
-                                                                    </td>
-                                                                </tr>
-                                                            </table>
+                                                                  </div>
+                                                               </div>
                                                         </div>
                                                     </div>
                                                 </div>
                                         </t>
                                     </templates>
                                 </kanban>
-                                <form string="Contact" version="7.0">
-                                    <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
-                                    <div class="oe_title">
+                                <form string="Contact">
+                                    <sheet>
+                                        <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
+                                        <div class="oe_title">
+                                            <label for="name" class="oe_edit_only"/>
+                                            <h1><field name="name" style="width: 70%%"/></h1>
+                                            <field name="category_id" widget="many2many_tags" placeholder="Tags..." style="width: 70%%"/>
+                                        </div>
                                         <group>
-                                            <field name="name"/>
-                                            <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
                                             <field name="function" placeholder="e.g. Sales Director"/>
                                             <field name="email"/>
                                             <field name="phone"/>
                                             <field name="mobile"/>
+                                            <field name="title"/>
+                                        </group>
+                                        <div>
+                                            <field name="use_parent_address"/><label for="use_parent_address"/>
+                                        </div>
+                                        <group>
+                                            <label for="type" groups="base.group_no_one"/>
+                                            <div name="contact_div_type" groups="base.group_no_one">
+                                                <field class="oe_inline" name="type"/>
+                                            </div>
+                                            <label for="street" string="Address" attrs="{'invisible': [('use_parent_address','=', True)]}"/>
+                                            <div attrs="{'invisible': [('use_parent_address','=', True)]}" name="div_address">
+                                                <field name="street" placeholder="Street..."/>
+                                                <field name="street2"/>
+                                                <div class="address_format">
+                                                    <field name="city" placeholder="City" style="width: 40%%"/>
+                                                    <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
+                                                    <field name="zip" placeholder="ZIP" style="width: 20%%"/>
+                                                </div>
+                                                <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
+                                            </div>
                                         </group>
-                                    </div>
+                                        <field name="supplier" invisible="True"/>
+                                        <field name="customer" invisible="True"/>
+                                    </sheet>
                                 </form>
                             </field>
                         </page>
-                        <page string="Internal Notes">
+                        <page name='internal_notes' string="Internal Notes">
                             <field name="comment" placeholder="Put an internal note..."/>
                         </page>
-                        <page string="Sales &amp; Purchases">
-                            <group>
-                                <group>
-                                    <field name="user_id" 
-                                        context="{'default_groups_ref': ['base.group_partner_manager']}"/>
-                                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>
-                                </group>
-                                <group>
-                                    <field name="customer"/>
-                                    <field name="supplier"/>
-                                </group>
+                        <page name='sales_purchases' string="Sales &amp; Purchases">
+                            <group name="container_row_1">
                                 <group>
                                     <field name="ref"/>
                                     <field name="lang"/>
-                                    <field name="date"/>
                                 </group>
                                 <group>
-                                    <field name="active"/>
+                                    <field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
+                                    <field name="active"/>                                    
                                 </group>
                             </group>
-                        </page>
-                        <!-- The History page becomes visible as soon as there is something to display inside -->
-                        <page string="History" name="page_history" invisible="True">
+                            <group name="container_row_2">
+                                <group string="Sale" name="sale">
+                                    <field name="customer"/>
+                                    <field name="user_id" 
+                                        context="{'default_groups_ref': ['base.group_partner_manager']}"/>
+                                </group>
+                                <group string="Purchase" name="purchase">
+                                    <field name="supplier"/>
+                                </group>
+                            </group>
+                            <group name="container_row_3">
+                                <group name="container_left"/>
+                                <group name="container_right"/>
+                            </group>
                         </page>
                     </notebook>
                 </sheet>
             <field name="arch" type="xml">
                 <search string="Search Partner">
                    <field name="name"
-                       filter_domain="['|','|',('name','ilike',self),('parent_id','ilike',self),('ref','=',self)]"/>
+                       filter_domain="['|','|',('display_name','ilike',self),('ref','=',self),('email','ilike',self)]"/>
                    <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)]"/>
+                   <filter string="Persons" name="type_person" domain="[('is_company','=',0)]"/>
+                   <filter string="Companies" name="type_company" domain="[('is_company','=',1)]"/>
                    <separator/>
-                   <filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
+                   <filter string="Customers" name="customer" domain="[('customer','=',1)]" help="Customer Partners"/>
+                   <filter string="Suppliers" name="supplier" domain="[('supplier','=',1)]" help="Supplier Partners"/>
                    <separator/>
-                   <filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
                    <field name="category_id" string="Tag" filter_domain="[('category_id','ilike', self)]"/>
                    <field name="user_id"/>
-                   <field name="parent_id" filter_domain="[('parent_id','child_of',[self])]"/>
-                   <group expand="0" string="Group By...">
+                   <field name="parent_id" domain="[('is_company','=',1)]" operator="child_of"/>
+                   <group expand="0" string="Group By">
                        <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
                        <filter string="Company" context="{'group_by': 'parent_id'}"/>
                        <filter string="Country" context="{'group_by': 'country_id'}"/>
             <field name="arch" type="xml">
                 <kanban>
                     <field name="color"/>
-                    <field name="name"/>
+                    <field name="display_name"/>
                     <field name="title"/>
                     <field name="email"/>
                     <field name="parent_id"/>
                                     </t>
                                 </a>
                                 <div class="oe_kanban_details">
-                                    <h4 class="oe_partner_heading"><a type="open"><field name="name"/></a></h4>
+                                    <h4 class="oe_partner_heading"><a type="open"><field name="display_name"/></a></h4>
                                     <div class="oe_kanban_partner_categories"/>
                                     <div class="oe_kanban_partner_links"/>
                                     <ul>
                                         <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
                                         <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
                                         <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
-                                        <li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
-                                        <li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
-                                        <li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
+                                        <li t-if="record.city.raw_value and !record.country_id.raw_value"><field name="city"/></li>
+                                        <li t-if="!record.city.raw_value and record.country_id.raw_value"><field name="country_id"/></li>
+                                        <li t-if="record.city.raw_value and record.country_id.raw_value"><field name="city"/>, <field name="country_id"/></li>
                                         <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
                                     </ul>
                                 </div>
               <p class="oe_view_nocontent_create">
                 Click to add a contact in your address book.
               </p><p>
-                OpenERP helps you easily track all activities related to
+                Odoo helps you easily track all activities related to
                 a customer; discussions, history of business opportunities,
                 documents, etc.
               </p>
             <field name="res_model">res.partner</field>
             <field name="view_type">form</field>
             <field name="view_mode">kanban,tree,form</field>
-            <field name="domain">[('customer','=',1)]</field>
+            <field name="domain">[]</field>
             <field name="context">{'default_customer':1, 'search_default_customer':1}</field>
             <field name="filter" eval="True"/>
             <field name="help" type="html">
               <p class="oe_view_nocontent_create">
                 Click to add a contact in your address book.
               </p><p>
-                OpenERP helps you easily track all activities related to
+                Odoo helps you easily track all activities related to
                 a customer: discussions, history of business opportunities,
                 documents, etc.
               </p>
               <p class="oe_view_nocontent_create">
                 Click to add a contact in your address book.
               </p><p>
-                OpenERP helps you easily track all activities related to
+                Odoo helps you easily track all activities related to
                 a supplier: discussions, history of purchases,
                 documents, etc.
               </p>
 
         <!-- Categories -->
         <record id="view_partner_category_form" model="ir.ui.view">
-            <field name="name">Partner Categories</field>
+            <field name="name">Partner Tags</field>
             <field name="model">res.partner.category</field>
             <field name="arch" type="xml">
-                <form string="Partner Category" version="7.0">
+                <form string="Partner Tag">
                     <group col="4">
                         <field name="name"/>
                         <field name="active"/>
             </field>
         </record>
         <record id="view_partner_category_list" model="ir.ui.view">
-            <field name="name">Partner Categories</field>
+            <field name="name">Partner Tags</field>
             <field name="model">res.partner.category</field>
             <field eval="6" name="priority"/>
             <field name="arch" type="xml">
-                <tree string="Partner Categories">
+                <tree string="Partner Tags">
                     <field name="complete_name"/>
                 </tree>
             </field>
             <field name="model">res.partner.category</field>
             <field name="field_parent">child_ids</field>
             <field name="arch" type="xml">
-                <tree toolbar="1" string="Partner Categories">
+                <tree toolbar="1" string="Partner Tags">
                     <field name="name"/>
                 </tree>
             </field>
         -->
 
         <record id="action_partner_by_category" model="ir.actions.act_window">
-            <field name="name">Partner Categories</field>
+            <field name="name">Partner Tags</field>
             <field name="res_model">res.partner</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
         </record>
 
         <record id="action_partner_category_form" model="ir.actions.act_window">
-            <field name="name">Partner Categories</field>
+            <field name="name">Partner Tags</field>
             <field name="type">ir.actions.act_window</field>
             <field name="res_model">res.partner.category</field>
             <field name="view_type">form</field>
-            <field name="help">Manage the partner categories in order to better classify them for tracking and analysis purposes. A partner may belong to several categories and categories have a hierarchy structure: a partner belonging to a category also belong to his parent category.</field>
+            <field name="help" type="html">
+              <p class="oe_view_nocontent_create">
+                Click to create a new partner tags.
+              </p><p>
+                Manage the partner tags to better classify them for tracking and analysis purposes.
+                A partner may have several tags and tags have a hierarchical structure: a partner with a tag has also the parent tags.
+              </p>
+            </field>
         </record>
 
-        <menuitem action="action_partner_category_form" id="menu_partner_category_form" name="Partner Tags" sequence="4" parent="menu_config_address_book" groups="base.group_no_one"/>
+        <menuitem action="action_partner_category_form" id="menu_partner_category_form" name="Tags" sequence="1" parent="menu_config_address_book" groups="base.group_no_one"/>
 
     </data>
 </openerp>