1 <?xml version="1.0" encoding="utf-8"?>
8 groups="base.group_sale_salesman"
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"/>
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">
22 <field name="shortcut"/>
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">
33 <field name="shortcut"/>
34 <field name="domain"/>
41 <record id="action_partner_title" model="ir.actions.act_window">
42 <field name="name">Titles</field>
43 <field name="type">ir.actions.act_window</field>
44 <field name="res_model">res.partner.title</field>
45 <field name="view_type">form</field>
47 <menuitem action="action_partner_title" id="menu_partner_title" parent="base.menu_base_config"/>
50 <record id="action_partner_title_partner" model="ir.actions.act_window">
51 <field name="name">Titles</field>
52 <field name="type">ir.actions.act_window</field>
53 <field name="res_model">res.partner.title</field>
54 <field name="view_type">form</field>
55 <field name="domain">[('domain','=','partner')]</field>
56 <field name="context">{'default_domain': 'partner'}</field>
57 <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>
60 <menuitem action="action_partner_title_partner" id="menu_partner_title_partner" parent="menu_config_address_book" sequence="2" groups="base.group_no_one"/>
62 <record id="action_partner_title_contact" model="ir.actions.act_window">
63 <field name="name">Contact Titles</field>
64 <field name="type">ir.actions.act_window</field>
65 <field name="res_model">res.partner.title</field>
66 <field name="view_type">form</field>
67 <field name="domain">[('domain','=','contact')]</field>
68 <field name="context">{'default_domain': 'contact'}</field>
69 <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>
72 <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"/>
75 <record id="view_partner_tree" model="ir.ui.view">
76 <field name="name">res.partner.tree</field>
77 <field name="model">res.partner</field>
78 <field eval="8" name="priority"/>
79 <field name="arch" type="xml">
80 <tree string="Contacts">
82 <field name="function" invisible="1"/>
85 <field name="user_id" invisible="1"/>
86 <field name="is_company" invisible="1"/>
87 <field name="country" invisible="1"/>
88 <field name="country_id" invisible="1"/>
89 <field name="parent_id" invisible="1"/>
94 <record id="view_partner_simple_form" model="ir.ui.view">
95 <field name="name">res.partner.simplified.form</field>
96 <field name="model">res.partner</field>
97 <field name="arch" type="xml">
98 <form string="Contact" version="7.0">
99 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
100 <div class="oe_title">
101 <div class="oe_edit_only">
102 <label for="name"/> (
103 <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
106 <field name="name" default_focus="1" placeholder="Name" />
108 <field name="parent_id"
109 placeholder="Company"
110 domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
111 attrs="{'invisible': [('is_company','=', True)]}"/>
113 <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
114 <field name="function" placeholder="e.g. Sales Director"/>
115 <field name="email" required="context.get('force_email', False)"/>
116 <field name="phone"/>
117 <field name="mobile"/>
124 <record id="view_partner_form" model="ir.ui.view">
125 <field name="name">res.partner.form</field>
126 <field name="model">res.partner</field>
127 <field eval="1" name="priority"/>
128 <field name="arch" type="xml">
129 <form string="Partners" version="7.0">
131 <field name="image" widget='image' class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
132 <div class="oe_title">
133 <div class="oe_edit_only">
134 <label for="name"/> (
135 <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
138 <field name="name" default_focus="1" placeholder="Name" />
140 <field name="parent_id"
141 placeholder="Company"
142 domain="[('is_company', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer}"
143 attrs="{'invisible': [('is_company','=', True),('parent_id', '=', False)]}"
144 on_change="onchange_address(use_parent_address, parent_id)"/>
145 <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
147 <div class="oe_right oe_button_box" name="buttons"> </div>
151 <label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
152 <div attrs="{'invisible': [('parent_id','=', False)]}" name="div_type">
153 <field class="oe_inline"
157 <label for="street" string="Address"/>
159 <field name="use_parent_address" class="oe_edit_only oe_inline"
160 on_change="onchange_address(use_parent_address, parent_id)"
161 attrs="{'invisible': ['|', ('is_company', '=', True),('parent_id', '=', False)]}"/>
162 <label for="use_parent_address" class="oe_edit_only" attrs="{'invisible': ['|', ('is_company', '=', True), ('parent_id', '=', False)]}"/>
163 <button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only"
164 attrs="{'invisible': ['|',('parent_id','=', False),('use_parent_address','=',False)]}"/>
165 <field name="street" placeholder="Street..." attrs="{'readonly': [('use_parent_address','=',True)]}"/>
166 <field name="street2" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
167 <div class="address_format">
168 <field name="city" placeholder="City" style="width: 40%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
169 <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)]}"/>
170 <field name="zip" placeholder="ZIP" style="width: 20%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
172 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}' attrs="{'readonly': [('use_parent_address','=',True)]}"/>
174 <field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
177 <field name="function" placeholder="e.g. Sales Director"
178 attrs="{'invisible': [('is_company','=', True)]}"/>
179 <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
180 <field name="mobile"/>
182 <field name="email" widget="email"/>
183 <field name="title" domain="[('domain','=','contact')]" options='{"no_open": True}' attrs="{'invisible': [('is_company','=',True)]}" context="{'default_domain': 'contact'}"/>
184 <field name="title" domain="[('domain','=','partner')]" options='{"no_open": True}' attrs="{'invisible': [('is_company','=',False)]}" context="{'default_domain': 'partner'}"/>
188 <notebook colspan="4">
189 <page string="Contacts" attrs="{'invisible': [('is_company','=',False), ('child_ids', '=', [])]}" autofocus="autofocus">
190 <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}">
192 <field name="color"/>
194 <field name="title"/>
195 <field name="email"/>
196 <field name="parent_id"/>
197 <field name="is_company"/>
198 <field name="function"/>
199 <field name="phone"/>
200 <field name="street"/>
201 <field name="street2"/>
204 <field name="country_id"/>
205 <field name="mobile"/>
207 <field name="state_id"/>
208 <field name="has_image"/>
210 <t t-name="kanban-box">
211 <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
212 <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')" style="position: relative">
213 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
214 <div class="oe_module_vignette">
216 <t t-if="record.has_image.raw_value === true">
217 <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
219 <t t-if="record.image and record.image.raw_value !== false">
220 <img t-att-src="'data:image/png;base64,'+record.image.raw_value" class="oe_avatar oe_kanban_avatar_smallbox"/>
222 <t t-if="record.has_image.raw_value === false and (!record.image or record.image.raw_value === false)">
223 <t t-if="record.is_company.raw_value === true">
224 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
226 <t t-if="record.is_company.raw_value === false">
227 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
231 <div class="oe_module_desc">
232 <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_color_border">
233 <table class="oe_kanban_table">
235 <td class="oe_kanban_title1" align="left" valign="middle">
236 <h4><a type="open"><field name="name"/></a></h4>
237 <i><div t-if="record.function.raw_value">
238 <field name="function"/></div></i>
239 <div><a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value">
240 <field name="email"/>
242 <div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
243 <div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
244 <div t-if="record.fax.raw_value">Fax: <field name="fax"/></div>
255 <form string="Contact" version="7.0">
257 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
258 <div class="oe_title">
259 <label for="name" class="oe_edit_only"/>
260 <h1><field name="name" style="width: 70%%"/></h1>
261 <field name="category_id" widget="many2many_tags" placeholder="Tags..." style="width: 70%%"/>
264 <field name="function" placeholder="e.g. Sales Director"/>
265 <field name="email"/>
266 <field name="phone"/>
267 <field name="mobile"/>
270 <field name="use_parent_address"/><label for="use_parent_address"/>
274 <div name="div_type">
275 <field class="oe_inline" name="type"/>
277 <label for="street" string="Address" attrs="{'invisible': [('use_parent_address','=', True)]}"/>
278 <div attrs="{'invisible': [('use_parent_address','=', True)]}" name="div_address">
279 <field name="street" placeholder="Street..."/>
280 <field name="street2"/>
281 <div class="address_format">
282 <field name="city" placeholder="City" style="width: 40%%"/>
283 <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
284 <field name="zip" placeholder="ZIP" style="width: 20%%"/>
286 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
289 <field name="supplier" invisible="True"/>
290 <field name="customer" invisible="True"/>
295 <page string="Internal Notes">
296 <field name="comment" placeholder="Put an internal note..."/>
298 <page string="Sales & Purchases">
301 <field name="user_id"/>
302 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
305 <field name="customer"/>
306 <field name="supplier"/>
314 <field name="active"/>
318 <!-- The History page becomes visible as soon as there is something to display inside -->
319 <page string="History" name="page_history" invisible="True">
327 <record id="view_res_partner_filter" model="ir.ui.view">
328 <field name="name">res.partner.select</field>
329 <field name="model">res.partner</field>
330 <field name="arch" type="xml">
331 <search string="Search Partner">
333 filter_domain="['|','|',('name','ilike',self),('parent_id','ilike',self),('ref','=',self)]"/>
334 <filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
336 <filter string="Persons" name="type_person" domain="[('is_company','=',0)]"/>
337 <filter string="Companies" name="type_company" domain="[('is_company','=',1)]"/>
339 <filter string="Customers" name="customer" domain="[('customer','=',1)]" help="Customer Partners"/>
340 <filter string="Suppliers" name="supplier" domain="[('supplier','=',1)]" help="Supplier Partners"/>
342 <field name="category_id" string="Tag" filter_domain="[('category_id','ilike', self)]"/>
343 <field name="user_id"/>
344 <field name="parent_id" domain="[('is_company','=',1)]" operator="child_of"/>
345 <group expand="0" string="Group By...">
346 <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
347 <filter string="Company" context="{'group_by': 'parent_id'}"/>
348 <filter string="Country" context="{'group_by': 'country_id'}"/>
354 <!-- Partner Kanban View -->
355 <record model="ir.ui.view" id="res_partner_kanban_view">
356 <field name="name">res.partner.kanban</field>
357 <field name="model">res.partner</field>
358 <field name="arch" type="xml">
360 <field name="color"/>
362 <field name="title"/>
363 <field name="email"/>
364 <field name="parent_id"/>
365 <field name="is_company"/>
366 <field name="function"/>
367 <field name="phone"/>
368 <field name="street"/>
369 <field name="street2"/>
372 <field name="country_id"/>
373 <field name="mobile"/>
374 <field name="state_id"/>
375 <field name="category_id"/>
376 <field name="has_image"/>
378 <t t-name="kanban-box">
379 <div class="oe_kanban_vignette oe_semantic_html_override">
381 <t t-if="record.has_image.raw_value === true">
382 <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_kanban_image"/>
384 <t t-if="record.has_image.raw_value === false">
385 <t t-if="record.is_company.raw_value === true">
386 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image"/>
388 <t t-if="record.is_company.raw_value === false">
389 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image"/>
393 <div class="oe_kanban_details">
394 <h4 class="oe_partner_heading"><a type="open"><field name="name"/></a></h4>
395 <div class="oe_kanban_partner_categories"/>
396 <div class="oe_kanban_partner_links"/>
398 <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
399 <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
400 <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
401 <li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
402 <li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
403 <li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
404 <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
415 <record id="action_partner_form" model="ir.actions.act_window">
416 <field name="name">Customers</field>
417 <field name="type">ir.actions.act_window</field>
418 <field name="res_model">res.partner</field>
419 <field name="view_type">form</field>
420 <field name="view_mode">kanban,tree,form</field>
421 <field name="context">{"search_default_customer":1}</field>
422 <field name="search_view_id" ref="view_res_partner_filter"/>
423 <field name="help" type="html">
424 <p class="oe_view_nocontent_create">
425 Click to add a contact in your address book.
427 OpenERP helps you easily track all activities related to
428 a customer; discussions, history of business opportunities,
433 <record id="action_partner_form_view1" model="ir.actions.act_window.view">
434 <field eval="0" name="sequence"/>
435 <field name="view_mode">kanban</field>
436 <field name="view_id" ref="res_partner_kanban_view"/>
437 <field name="act_window_id" ref="action_partner_form"/>
439 <record id="action_partner_form_view2" model="ir.actions.act_window.view">
440 <field eval="2" name="sequence"/>
441 <field name="view_mode">form</field>
442 <field name="view_id" ref="view_partner_form"/>
443 <field name="act_window_id" ref="action_partner_form"/>
445 <record id="action_partner_tree_view1" model="ir.actions.act_window.view">
446 <field name="sequence" eval="1"/>
447 <field name="view_mode">tree</field>
448 <field name="view_id" ref="view_partner_tree"/>
449 <field name="act_window_id" ref="action_partner_form"/>
451 <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="1"/>
453 <record id="action_partner_customer_form" model="ir.actions.act_window">
454 <field name="name">Customers</field>
455 <field name="type">ir.actions.act_window</field>
456 <field name="res_model">res.partner</field>
457 <field name="view_type">form</field>
458 <field name="view_mode">kanban,tree,form</field>
459 <field name="domain">[('customer','=',1)]</field>
460 <field name="context">{'default_customer':1, 'search_default_customer':1}</field>
461 <field name="filter" eval="True"/>
462 <field name="help" type="html">
463 <p class="oe_view_nocontent_create">
464 Click to add a contact in your address book.
466 OpenERP helps you easily track all activities related to
467 a customer: discussions, history of business opportunities,
473 <record id="action_partner_supplier_form" model="ir.actions.act_window">
474 <field name="name">Suppliers</field>
475 <field name="type">ir.actions.act_window</field>
476 <field name="res_model">res.partner</field>
477 <field name="view_type">form</field>
478 <field name="domain">[]</field>
479 <field name="view_mode">kanban,tree,form</field>
480 <field name="context">{'search_default_supplier': 1,'default_customer': 0,'default_supplier': 1}</field>
481 <field name="filter" eval="True"/>
482 <field name="help" type="html">
483 <p class="oe_view_nocontent_create">
484 Click to add a contact in your address book.
486 OpenERP helps you easily track all activities related to
487 a supplier: discussions, history of purchases,
493 <record id="action_partner_employee_form" model="ir.actions.act_window">
494 <field name="name">Employees</field>
495 <field name="type">ir.actions.act_window</field>
496 <field name="res_model">res.partner</field>
497 <field name="view_type">form</field>
498 <field name="domain">[('employee','=',1)]</field>
499 <field name="context">{'default_customer':0, 'default_supplier':0 , 'default_employee':1}</field>
500 <field name="filter" eval="True"/>
503 <record id="action_partner_other_form" model="ir.actions.act_window">
504 <field name="name">Other Partners</field>
505 <field name="type">ir.actions.act_window</field>
506 <field name="res_model">res.partner</field>
507 <field name="view_type">form</field>
508 <field name="domain">[('supplier','<>',1),('customer','<>',1)]</field>
509 <field name="filter" eval="True"/>
513 <record id="view_partner_category_form" model="ir.ui.view">
514 <field name="name">Partner Categories</field>
515 <field name="model">res.partner.category</field>
516 <field name="arch" type="xml">
517 <form string="Partner Category" version="7.0">
520 <field name="active"/>
521 <field name="parent_id"/>
526 <record id="view_partner_category_list" model="ir.ui.view">
527 <field name="name">Partner Categories</field>
528 <field name="model">res.partner.category</field>
529 <field eval="6" name="priority"/>
530 <field name="arch" type="xml">
531 <tree string="Partner Categories">
532 <field name="complete_name"/>
536 <record id="view_partner_category_tree" model="ir.ui.view">
537 <field name="name">res.partner.category.tree</field>
538 <field name="model">res.partner.category</field>
539 <field name="field_parent">child_ids</field>
540 <field name="arch" type="xml">
541 <tree toolbar="1" string="Partner Categories">
547 <record id="action_partner_category" model="ir.actions.act_window">
548 <field name="name">Partners by Categories</field>
549 <field name="type">ir.actions.act_window</field>
550 <field name="res_model">res.partner.category</field>
551 <field name="view_type">tree</field>
552 <field name="view_id" ref="view_partner_category_tree"/>
553 <field name="domain">[('parent_id','=',False)]</field>
555 <menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"
556 groups="base.group_no_one"/>
559 <record id="action_partner_by_category" model="ir.actions.act_window">
560 <field name="name">Partner Categories</field>
561 <field name="res_model">res.partner</field>
562 <field name="view_type">form</field>
563 <field name="view_mode">tree,form</field>
564 <field name="domain">[('category_id','child_of', [active_id])]</field>
565 <field name="context">{'category_id':active_id}</field>
566 <field name="search_view_id" ref="view_res_partner_filter"/>
569 <record id="ir_action_partner_by_category" model="ir.values">
570 <field eval="'tree_but_open'" name="key2"/>
571 <field eval="'res.partner.category'" name="model"/>
572 <field name="name">Open partners</field>
573 <field eval="'ir.actions.act_window,%d'%action_partner_by_category" name="value"/>
576 <record id="action_partner_category_form" model="ir.actions.act_window">
577 <field name="name">Partner Categories</field>
578 <field name="type">ir.actions.act_window</field>
579 <field name="res_model">res.partner.category</field>
580 <field name="view_type">form</field>
581 <field name="help" type="html">
582 <p class="oe_view_nocontent_create">
583 Click to create a new partner category.
585 Manage the partner categories in order to better classify them for tracking and analysis purposes.
586 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.
591 <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"/>