92a264f0089f53bd9d89a405b270a9a1691621d3
[odoo/odoo.git] / openerp / addons / base / res / res_partner_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <!-- Top menu item -->
6         <menuitem name="Sales"
7             id="menu_base_partner"
8             groups="base.group_sale_salesman"
9             sequence="30"/>
10
11             <menuitem id="base.menu_sales" parent="base.menu_base_partner" name="Sales" sequence="1" />
12             <menuitem id="menu_base_config" parent="menu_base_partner" name="Configuration" sequence="30" groups="group_system"/>
13                 <menuitem id="menu_config_address_book" parent="menu_base_config" name="Address Book" sequence="40" groups="group_system"/>
14
15         <!-- Partner Titles -->
16         <record id="view_partner_title_tree" model="ir.ui.view">
17             <field name="name">res.partner.title.tree</field>
18             <field name="model">res.partner.title</field>
19             <field name="arch" type="xml">
20                 <tree string="Partner Titles">
21                     <field name="name"/>
22                     <field name="shortcut"/>
23                 </tree>
24             </field>
25         </record>
26         <record id="view_partner_title_form" model="ir.ui.view">
27             <field name="name">res.partner.title.form</field>
28             <field name="model">res.partner.title</field>
29             <field name="arch" type="xml">
30                 <form string="Partner Titles" version="7.0">
31                     <group col="4">
32                         <field name="name"/>
33                         <field name="shortcut"/>
34                     </group>
35                 </form>
36             </field>
37         </record>
38
39         <!--
40         <record id="action_partner_title" model="ir.actions.act_window">
41             <field name="name">Titles</field>
42             <field name="type">ir.actions.act_window</field>
43             <field name="res_model">res.partner.title</field>
44             <field name="view_type">form</field>
45         </record>
46         <menuitem action="action_partner_title" id="menu_partner_title" parent="base.menu_base_config"/>
47         -->
48
49         <record id="action_partner_title_partner" model="ir.actions.act_window">
50             <field name="name">Partner Titles</field>
51             <field name="type">ir.actions.act_window</field>
52             <field name="res_model">res.partner.title</field>
53             <field name="view_type">form</field>
54             <field name="domain">[('domain','=','partner')]</field>
55             <field name="context">{'default_domain': 'partner'}</field>
56             <field name="help">Manage the partner titles you want to have available in your system. The partner titles is the legal status of the company: Private Limited, SA, etc.</field>
57         </record>
58
59         <menuitem action="action_partner_title_partner" id="menu_partner_title_partner" parent="menu_config_address_book" sequence="2" groups="base.group_no_one"/>
60
61         <record id="action_partner_title_contact" model="ir.actions.act_window">
62             <field name="name">Contact Titles</field>
63             <field name="type">ir.actions.act_window</field>
64             <field name="res_model">res.partner.title</field>
65             <field name="view_type">form</field>
66             <field name="domain">[('domain','=','contact')]</field>
67             <field name="context">{'default_domain': 'contact'}</field>
68             <field name="help">Manage the contact titles you want to have available in your system and the way you want to print them in letters and other documents. Some example: Mr., Mrs. </field>
69         </record>
70
71         <menuitem action="action_partner_title_contact" id="menu_partner_title_contact" name="Contact Titles" parent="menu_config_address_book" sequence="3" groups="base.group_no_one"/>
72
73         <!-- Partner -->
74         <record id="view_partner_tree" model="ir.ui.view">
75             <field name="name">res.partner.tree</field>
76             <field name="model">res.partner</field>
77             <field eval="8" name="priority"/>
78             <field name="arch" type="xml">
79                 <tree string="Contacts">
80                     <field name="name"/>
81                     <field name="function" invisible="1"/>
82                     <field name="phone"/>
83                     <field name="email"/>
84                     <field name="user_id" invisible="1"/>
85                     <field name="is_company" invisible="1"/>
86                     <field name="country" invisible="1"/>
87                     <field name="country_id" invisible="1"/>
88                 </tree>
89             </field>
90         </record>
91
92         <record id="view_partner_form" model="ir.ui.view">
93             <field name="name">res.partner.form</field>
94             <field name="model">res.partner</field>
95             <field name="arch" type="xml">
96                 <form string="Partners" version="7.0">
97                 <sheet>
98                     <field name="image" widget='image' class="oe_left" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
99                     <div class="oe_title">
100                         <div class="oe_edit_only">
101                             <label for="name"/> (
102                             <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
103                         </div>
104                         <h1>
105                             <field name="name" default_focus="1" placeholder="Name" />
106                         </h1>
107                         <field name="parent_id"
108                             placeholder="Company"
109                             domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
110                             attrs="{'invisible': [('is_company','=', True)]}"
111                             on_change="onchange_address(use_parent_address, parent_id)"/>
112                         <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
113                     </div>
114                     <div class="oe_right oe_button_box" name="buttons"> </div>
115
116                     <group>
117                         <group>
118                             <label for="type" attrs="{'invisible': [('parent_id','=', False)]}" invisible="1"/>
119                             <div attrs="{'invisible': [('parent_id','=', False)]}" invisible="1" name="div_type">
120                                 <field class="oe_inline"
121                                     name="type"/>
122                                 <label for="use_parent_address" class="oe_edit_only"/>
123                                 <field name="use_parent_address" class="oe_edit_only oe_inline"
124                                     on_change="onchange_address(use_parent_address, parent_id)"/>
125                             </div>
126
127                             <label for="street" string="Address"/>
128                             <div>
129                                 <field name="street" placeholder="Street..."/>
130                                 <field name="street2"/>
131                                 <div class="address_format">
132                                     <field name="city" placeholder="City" style="width: 40%%"/>
133                                     <field name="state_id" class="oe_no_button" placeholder="State" style="width: 24%%" options='{"no_open": true}'/>
134                                     <field name="zip" placeholder="ZIP" style="width: 34%%"/>
135                                 </div>
136                                 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": true}'/>
137                             </div>
138                             <field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
139                         </group>
140                         <group>
141                             <field name="function" placeholder="e.g. Sales Director"
142                                 attrs="{'invisible': [('is_company','=', True)]}"/>
143                             <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
144                             <field name="mobile"/>
145                             <field name="fax"/>
146                             <field name="email" widget="email"/>
147                             <field name="title" domain="[('domain', '=', 'contact')]"
148                                 groups="base.group_no_one"
149                                 options='{"no_open": true}' attrs="{'invisible': [('is_company','=', True)]}" />
150                         </group>
151                     </group>
152
153                     <notebook colspan="4">
154                         <page string="Contacts" attrs="{'invisible': [('is_company','=',False)]}">
155                             <field name="child_ids" context="{'default_parent_id': active_id}" mode="kanban">
156                                 <kanban>
157                                     <field name="color"/>
158                                     <field name="name"/>
159                                     <field name="title"/>
160                                     <field name="email"/>
161                                     <field name="parent_id"/>
162                                     <field name="is_company"/>
163                                     <field name="function"/>
164                                     <field name="phone"/>
165                                     <field name="street"/>
166                                     <field name="street2"/>
167                                     <field name="image"/>
168                                     <field name="zip"/>
169                                     <field name="city"/>
170                                     <field name="country_id"/>
171                                     <field name="mobile"/>
172                                     <field name="state_id"/>
173                                     <templates>
174                                         <t t-name="kanban-box">
175                                             <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
176                                             <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')" style="position: relative">
177                                                 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
178                                                 <div class="oe_module_vignette">
179                                                 <a type="edit">
180                                                     <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
181                                                 </a>
182                                                     <div class="oe_module_desc">
183                                                         <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
184                                                             <table class="oe_kanban_table">
185                                                                 <tr>
186                                                                     <td class="oe_kanban_title1" align="left" valign="middle">
187                                                                         <h4><a type="edit"><field name="name"/></a></h4>
188                                                                         <i><div t-if="record.function.raw_value">
189                                                                             <field name="function"/><br/></div></i>
190                                                                     </td>
191                                                                     <td valign="top" align="right">
192                                                                         <a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value" style="text-decoration: none;" >
193                                                                             <img src="/web/static/src/img/icons/terp-mail-message-new.png" border="0" width="16" height="16"/>
194                                                                         </a>
195
196                                                                     </td>
197                                                                 </tr>
198                                                             </table>
199                                                         </div>
200                                                     </div>
201                                                 </div>
202                                             </div>
203                                         </t>
204                                     </templates>
205                                 </kanban>
206                                 <form string="Contact" version="7.0">
207                                     <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
208                                     <div class="oe_title">
209                                         <group>
210                                             <field name="name"/>
211                                             <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
212                                             <field name="function" placeholder="e.g. Sales Director"/>
213                                             <field name="email"/>
214                                             <field name="phone"/>
215                                             <field name="mobile"/>
216                                         </group>
217                                     </div>
218                                 </form>
219                             </field>
220                         </page>
221                         <page string="Internal Notes">
222                             <field name="comment" placeholder="Internal notes about this customer..."/>
223                         </page>
224                         <page string="Sales &amp; Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}">
225                             <group>
226                                 <group>
227                                     <field name="user_id"/>
228                                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
229                                 </group>
230                                 <group>
231                                     <field name="customer"/>
232                                     <field name="supplier" invisible="not context.get('default_supplier')"/>
233                                 </group>
234                                 <group>
235                                     <field name="ref"/>
236                                     <field name="lang"/>
237                                     <field name="date"/>
238                                 </group>
239                                 <group>
240                                     <field name="active"/>
241                                 </group>
242                             </group>
243                         </page>
244                         <!-- The History page becomes visible as soon as there is something to display inside -->
245                         <page string="History" name="page_history" invisible="True">
246                         </page>
247                     </notebook>
248                 </sheet>
249                 </form>
250             </field>
251         </record>
252
253        <record id="view_res_partner_filter" model="ir.ui.view">
254             <field name="name">res.partner.select</field>
255             <field name="model">res.partner</field>
256             <field name="arch" type="xml">
257                 <search string="Search Partner">
258                    <field name="name"
259                        filter_domain="['|','|',('name','ilike',self),('parent_id','ilike',self),('ref','=',self)]"
260                        string="Partner"/>
261                    <filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
262                    <separator/>
263                    <filter string="Persons" name="type_person" icon="terp-personal" domain="[('is_company','=',0)]"/>
264                    <filter string="Companies" name="type_company" icon="terp-partner" domain="[('is_company','=',1)]"/>
265                    <separator/>
266                    <filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
267                    <separator/>
268                    <filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
269                    <field name="category_id" string="Category" filter_domain="[('category_id','ilike', self)]"/>
270                    <field name="user_id"/>
271                    <field name="parent_id" filter_domain="[('parent_id','child_of',[self])]"/>
272                    <group expand="0" string="Group By...">
273                        <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
274                        <filter string="Company" context="{'group_by': 'parent_id'}"/>
275                    </group>
276                </search>
277             </field>
278         </record>
279
280         <!-- Partner Kanban View -->
281         <record model="ir.ui.view" id="res_partner_kanban_view">
282             <field name="name">res.partner.kanban</field>
283             <field name="model">res.partner</field>
284             <field name="arch" type="xml">
285                 <kanban>
286                     <field name="color"/>
287                     <field name="name"/>
288                     <field name="title"/>
289                     <field name="email"/>
290                     <field name="parent_id"/>
291                     <field name="is_company"/>
292                     <field name="function"/>
293                     <field name="phone"/>
294                     <field name="street"/>
295                     <field name="street2"/>
296                     <field name="zip"/>
297                     <field name="city"/>
298                     <field name="country_id"/>
299                     <field name="mobile"/>
300                     <field name="state_id"/>
301                     <field name="category_id"/>
302                     <templates>
303                         <t t-name="kanban-box">
304                             <div class="oe_kanban_vignette">
305                                 <a type="edit">
306                                     <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_kanban_image"/>
307                                 </a>
308                                 <div class="oe_kanban_details">
309                                     <h4 class="oe_partner_heading"><a type="edit"><field name="name"/></a></h4>
310                                     <div class="oe_kanban_partner_categories"/>
311                                     <div class="oe_kanban_partner_links"/>
312                                     <ul>
313                                         <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
314                                         <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
315                                         <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
316                                         <li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
317                                         <li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
318                                         <li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
319                                         <li t-if="record.phone.raw_value">Tel: <field name="phone"/></li>
320                                         <li t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></li>
321                                         <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
322                                     </ul>
323                                 </div>
324                             </div>
325
326                         </t>
327                     </templates>
328                 </kanban>
329             </field>
330         </record>
331
332         <record id="action_partner_form" model="ir.actions.act_window">
333             <field name="name">Customers</field>
334             <field name="type">ir.actions.act_window</field>
335             <field name="res_model">res.partner</field>
336             <field name="view_type">form</field>
337             <field name="view_mode">kanban,tree,form</field>
338             <field name="context">{"search_default_customer":1}</field>
339             <field name="search_view_id" ref="view_res_partner_filter"/>
340             <field name="help" type="html">
341               <p class="oe_view_nocontent_create">
342                 Click to add a contact in your address book.
343               </p><p>
344                 OpenERP helps you easily track all activities related to
345                 a customer; discussions, history of business opportunities,
346                 documents, etc.
347               </p>
348             </field>
349         </record>
350         <record id="action_partner_form_view1" model="ir.actions.act_window.view">
351             <field eval="0" name="sequence"/>
352             <field name="view_mode">kanban</field>
353             <field name="view_id" ref="res_partner_kanban_view"/>
354             <field name="act_window_id" ref="action_partner_form"/>
355         </record>
356         <record id="action_partner_form_view2" model="ir.actions.act_window.view">
357             <field eval="2" name="sequence"/>
358             <field name="view_mode">form</field>
359             <field name="view_id" ref="view_partner_form"/>
360             <field name="act_window_id" ref="action_partner_form"/>
361         </record>
362         <record id="action_partner_tree_view1" model="ir.actions.act_window.view">
363             <field name="sequence" eval="1"/>
364             <field name="view_mode">tree</field>
365             <field name="view_id" ref="view_partner_tree"/>
366             <field name="act_window_id" ref="action_partner_form"/>
367         </record>
368         <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="1"/>
369
370         <record id="action_partner_customer_form" model="ir.actions.act_window">
371             <field name="name">Customers</field>
372             <field name="type">ir.actions.act_window</field>
373             <field name="res_model">res.partner</field>
374             <field name="view_type">form</field>
375             <field name="view_mode">kanban,tree,form</field>
376             <field name="domain">[('customer','=',1)]</field>
377             <field name="context">{'default_customer':1, 'search_default_customer':1}</field>
378             <field name="filter" eval="True"/>
379             <field name="help" type="html">
380               <p class="oe_view_nocontent_create">
381                 Click to add a contact in your address book.
382               </p><p>
383                 OpenERP helps you easily track all activities related to
384                 a customer: discussions, history of business opportunities,
385                 documents, etc.
386               </p>
387             </field>
388         </record>
389
390         <record id="action_partner_supplier_form" model="ir.actions.act_window">
391             <field name="name">Suppliers</field>
392             <field name="type">ir.actions.act_window</field>
393             <field name="res_model">res.partner</field>
394             <field name="view_type">form</field>
395             <field name="domain">[]</field>
396             <field name="view_mode">kanban,tree,form</field>
397             <field name="context">{'search_default_supplier': 1,'default_customer': 0,'default_supplier': 1}</field>
398             <field name="filter" eval="True"/>
399             <field name="help" type="html">
400               <p class="oe_view_nocontent_create">
401                 Click to add a contact in your address book.
402               </p><p>
403                 OpenERP helps you easily track all activities related to
404                 a supplier: discussions, history of purchases,
405                 documents, etc.
406               </p>
407             </field>
408         </record>
409
410         <record id="action_partner_employee_form" model="ir.actions.act_window">
411             <field name="name">Employees</field>
412             <field name="type">ir.actions.act_window</field>
413             <field name="res_model">res.partner</field>
414             <field name="view_type">form</field>
415             <field name="domain">[('employee','=',1)]</field>
416             <field name="context">{'default_customer':0, 'default_supplier':0 , 'default_employee':1}</field>
417             <field name="filter" eval="True"/>
418         </record>
419
420         <record id="action_partner_other_form" model="ir.actions.act_window">
421             <field name="name">Other Partners</field>
422             <field name="type">ir.actions.act_window</field>
423             <field name="res_model">res.partner</field>
424             <field name="view_type">form</field>
425             <field name="domain">[('supplier','&lt;&gt;',1),('customer','&lt;&gt;',1)]</field>
426             <field name="filter" eval="True"/>
427         </record>
428
429         <record id="view_payterm_form" model="ir.ui.view">
430             <field name="name">res.payterm</field>
431             <field name="model">res.payterm</field>
432             <field name="arch" type="xml">
433                 <form string="Payment Term" version="7.0">
434                     <group>
435                         <field name="name"/>
436                     </group>
437                 </form>
438             </field>
439         </record>
440         <record id="action_payterm_form" model="ir.actions.act_window">
441             <field name="name">Payment term</field>
442             <field name="type">ir.actions.act_window</field>
443             <field name="res_model">res.payterm</field>
444             <field name="view_type">form</field>
445             <field name="view_id" ref="view_payterm_form"/>
446         </record>
447
448         <!-- Categories -->
449         <record id="view_partner_category_form" model="ir.ui.view">
450             <field name="name">Partner Categories</field>
451             <field name="model">res.partner.category</field>
452             <field name="arch" type="xml">
453                 <form string="Partner Category" version="7.0">
454                     <group col="4">
455                         <field name="name"/>
456                         <field name="active"/>
457                         <field name="parent_id"/>
458                     </group>
459                 </form>
460             </field>
461         </record>
462         <record id="view_partner_category_list" model="ir.ui.view">
463             <field name="name">Partner Categories</field>
464             <field name="model">res.partner.category</field>
465             <field eval="6" name="priority"/>
466             <field name="arch" type="xml">
467                 <tree string="Partner Categories">
468                     <field name="complete_name"/>
469                 </tree>
470             </field>
471         </record>
472         <record id="view_partner_category_tree" model="ir.ui.view">
473             <field name="name">res.partner.category.tree</field>
474             <field name="model">res.partner.category</field>
475             <field name="field_parent">child_ids</field>
476             <field name="arch" type="xml">
477                 <tree toolbar="1" string="Partner Categories">
478                     <field name="name"/>
479                 </tree>
480             </field>
481         </record>
482         <!--
483         <record id="action_partner_category" model="ir.actions.act_window">
484             <field name="name">Partners by Categories</field>
485             <field name="type">ir.actions.act_window</field>
486             <field name="res_model">res.partner.category</field>
487             <field name="view_type">tree</field>
488             <field name="view_id" ref="view_partner_category_tree"/>
489             <field name="domain">[('parent_id','=',False)]</field>
490         </record>
491         <menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"
492             groups="base.group_no_one"/>
493         -->
494
495         <record id="action_partner_by_category" model="ir.actions.act_window">
496             <field name="name">Partner Categories</field>
497             <field name="res_model">res.partner</field>
498             <field name="view_type">form</field>
499             <field name="view_mode">tree,form</field>
500             <field name="domain">[('category_id','child_of', [active_id])]</field>
501             <field name="context">{'category_id':active_id}</field>
502             <field name="search_view_id" ref="view_res_partner_filter"/>
503         </record>
504
505         <record id="ir_action_partner_by_category" model="ir.values">
506             <field eval="'tree_but_open'" name="key2"/>
507             <field eval="'res.partner.category'" name="model"/>
508             <field name="name">Open partners</field>
509             <field eval="'ir.actions.act_window,%d'%action_partner_by_category" name="value"/>
510         </record>
511
512         <record id="action_partner_category_form" model="ir.actions.act_window">
513             <field name="name">Partner Categories</field>
514             <field name="type">ir.actions.act_window</field>
515             <field name="res_model">res.partner.category</field>
516             <field name="view_type">form</field>
517             <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>
518         </record>
519
520         <menuitem action="action_partner_category_form" id="menu_partner_category_form" name="Partner Categories" sequence="4" parent="menu_config_address_book" groups="base.group_no_one"/>
521
522     </data>
523 </openerp>