[MERGE] Forward-port saas-5 up to d9cda97
[odoo/odoo.git] / openerp / addons / base / res / res_partner_view.xml
index c920aba..4e25279 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="Address Book" sequence="40" 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"/>
             <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">
                         <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="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>
             <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>
                             <div attrs="{'invisible': [('parent_id','=', False)]}" name="div_type">
                                 <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"/>
                         </group>
                             <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
                             <field name="mobile"/>
                             <field name="fax"/>
-                            <field name="email" widget="email"/>
+                            <field name="user_ids" invisible="1"/>
+                            <field name="email" widget="email" attrs="{'required': [('user_ids','!=', [])]}"/>
                             <field name="title" domain="[('domain', '=', 'contact')]"
                                 options='{"no_open": True}' attrs="{'invisible': [('is_company','=', 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"/>
                                         </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"/>
                                         </group>
-                                    </div>
+                                        <div>
+                                            <field name="use_parent_address"/><label for="use_parent_address"/>
+                                        </div>
+                                        <group>
+                                            <label for="type"/>
+                                            <div name="div_type">
+                                                <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>
+                                        <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">
+                        <page name='sales_purchases' string="Sales &amp; Purchases">
                             <group>
                                 <group>
                                     <field name="user_id" 
                                 </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">
-                        </page>
                     </notebook>
                 </sheet>
                 </form>
             <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>
             <field name="view_id" ref="view_partner_tree"/>
             <field name="act_window_id" ref="action_partner_form"/>
         </record>
-        <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="1"/>
+        <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="2"/>
 
         <record id="action_partner_customer_form" model="ir.actions.act_window">
             <field name="name">Customers</field>
 
         <!-- 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"/>