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">
33 <field name="shortcut"/>
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>
46 <menuitem action="action_partner_title" id="menu_partner_title" parent="base.menu_base_config"/>
49 <record id="action_partner_title_partner" model="ir.actions.act_window">
50 <field name="name">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>
59 <menuitem action="action_partner_title_partner" id="menu_partner_title_partner" parent="menu_config_address_book" sequence="2" groups="base.group_no_one"/>
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>
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"/>
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="display_name"/>
81 <field name="function" invisible="1"/>
84 <field name="user_id" invisible="1"/>
85 <field name="is_company" invisible="1"/>
86 <field name="country_id" invisible="1"/>
87 <field name="parent_id" invisible="1"/>
92 <record id="view_partner_simple_form" model="ir.ui.view">
93 <field name="name">res.partner.simplified.form</field>
94 <field name="model">res.partner</field>
95 <field name="arch" type="xml">
96 <form string="Contact">
97 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
98 <div class="oe_title">
99 <div class="oe_edit_only">
100 <label for="name"/> (
101 <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
104 <field name="name" default_focus="1" placeholder="Name" />
106 <field name="parent_id"
107 placeholder="Company"
108 domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
109 attrs="{'invisible': [('is_company','=', True)]}"/>
112 <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
113 <field name="function" placeholder="e.g. Sales Director"/>
114 <field name="user_ids" invisible="1"/>
115 <field name="email" widget="email" required="context.get('force_email', False)" attrs="{'required': [('user_ids','!=', [])]}"/>
116 <field name="phone"/>
117 <field name="mobile"/>
123 <record id="view_partner_form" model="ir.ui.view">
124 <field name="name">res.partner.form</field>
125 <field name="model">res.partner</field>
126 <field eval="1" name="priority"/>
127 <field name="arch" type="xml">
128 <form string="Partners">
130 <field name="image" widget='image' class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
131 <div class="oe_title oe_left">
132 <div class="oe_edit_only">
133 <label for="name"/> (
134 <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
137 <field name="name" default_focus="1" placeholder="Name" />
139 <field name="parent_id"
140 placeholder="Company"
141 domain="[('is_company', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer}"
142 attrs="{'invisible': [('is_company','=', True),('parent_id', '=', False)]}"
143 on_change="onchange_address(use_parent_address, parent_id)"/>
144 <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
146 <div class="oe_right oe_button_box" name="buttons"> </div>
150 <label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
151 <div attrs="{'invisible': [('parent_id','=', False)]}" name="div_type">
152 <field class="oe_inline"
156 <label for="street" string="Address"/>
158 <div class="oe_edit_only">
159 <field name="use_parent_address" class="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" attrs="{'invisible': ['|', ('is_company', '=', True), ('parent_id', '=', False)]}"/>
164 <button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only"
165 attrs="{'invisible': ['|',('parent_id','=', False),('use_parent_address','=',False)]}"/>
166 <field name="street" placeholder="Street..." attrs="{'readonly': [('use_parent_address','=',True)]}"/>
167 <field name="street2" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
168 <div class="address_format">
169 <field name="city" placeholder="City" style="width: 40%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
170 <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)]}"/>
171 <field name="zip" placeholder="ZIP" style="width: 20%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
173 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}' attrs="{'readonly': [('use_parent_address','=',True)]}"/>
175 <field name="website" widget="url" placeholder="e.g. www.odoo.com"/>
178 <field name="function" placeholder="e.g. Sales Director"
179 attrs="{'invisible': [('is_company','=', True)]}"/>
180 <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
181 <field name="mobile"/>
183 <field name="user_ids" invisible="1"/>
184 <field name="email" widget="email" attrs="{'required': [('user_ids','!=', [])]}"/>
185 <field name="title" options='{"no_open": True}'/>
189 <notebook colspan="4">
190 <page string="Contacts" attrs="{'invisible': [('is_company','=',False), ('child_ids', '=', [])]}" autofocus="autofocus">
191 <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}">
193 <field name="color"/>
195 <field name="title"/>
196 <field name="email"/>
197 <field name="parent_id"/>
198 <field name="is_company"/>
199 <field name="function"/>
200 <field name="phone"/>
201 <field name="street"/>
202 <field name="street2"/>
205 <field name="country_id"/>
206 <field name="mobile"/>
208 <field name="state_id"/>
209 <field name="has_image"/>
211 <t t-name="kanban-box">
212 <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
213 <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')" style="position: relative">
214 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
215 <div class="oe_module_vignette">
217 <t t-if="record.has_image.raw_value === true">
218 <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
220 <t t-if="record.image and record.image.raw_value !== false">
221 <img t-att-src="'data:image/png;base64,'+record.image.raw_value" class="oe_avatar oe_kanban_avatar_smallbox"/>
223 <t t-if="record.has_image.raw_value === false and (!record.image or record.image.raw_value === false)">
224 <t t-if="record.is_company.raw_value === true">
225 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
227 <t t-if="record.is_company.raw_value === false">
228 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
232 <div class="oe_module_desc">
233 <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_color_border">
234 <table class="oe_kanban_table">
236 <td class="oe_kanban_title1" align="left" valign="middle">
237 <h4><a type="open"><field name="name"/></a></h4>
238 <i><div t-if="record.function.raw_value">
239 <field name="function"/></div></i>
240 <div><a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value">
241 <field name="email"/>
243 <div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
244 <div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
245 <div t-if="record.fax.raw_value">Fax: <field name="fax"/></div>
256 <form string="Contact">
258 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
259 <div class="oe_title">
260 <label for="name" class="oe_edit_only"/>
261 <h1><field name="name" style="width: 70%%"/></h1>
262 <field name="category_id" widget="many2many_tags" placeholder="Tags..." style="width: 70%%"/>
265 <field name="function" placeholder="e.g. Sales Director"/>
266 <field name="email"/>
267 <field name="phone"/>
268 <field name="mobile"/>
271 <field name="use_parent_address"/><label for="use_parent_address"/>
275 <div name="div_type">
276 <field class="oe_inline" name="type"/>
278 <label for="street" string="Address" attrs="{'invisible': [('use_parent_address','=', True)]}"/>
279 <div attrs="{'invisible': [('use_parent_address','=', True)]}" name="div_address">
280 <field name="street" placeholder="Street..."/>
281 <field name="street2"/>
282 <div class="address_format">
283 <field name="city" placeholder="City" style="width: 40%%"/>
284 <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
285 <field name="zip" placeholder="ZIP" style="width: 20%%"/>
287 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
290 <field name="supplier" invisible="True"/>
291 <field name="customer" invisible="True"/>
296 <page name='internal_notes' string="Internal Notes">
297 <field name="comment" placeholder="Put an internal note..."/>
299 <page name='sales_purchases' string="Sales & Purchases">
302 <field name="user_id"
303 context="{'default_groups_ref': ['base.group_partner_manager']}"/>
304 <field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
307 <field name="customer"/>
308 <field name="supplier"/>
316 <field name="active"/>
326 <record id="view_res_partner_filter" model="ir.ui.view">
327 <field name="name">res.partner.select</field>
328 <field name="model">res.partner</field>
329 <field name="arch" type="xml">
330 <search string="Search Partner">
332 filter_domain="['|','|',('display_name','ilike',self),('ref','=',self),('email','ilike',self)]"/>
333 <filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
335 <filter string="Persons" name="type_person" domain="[('is_company','=',0)]"/>
336 <filter string="Companies" name="type_company" domain="[('is_company','=',1)]"/>
338 <filter string="Customers" name="customer" domain="[('customer','=',1)]" help="Customer Partners"/>
339 <filter string="Suppliers" name="supplier" domain="[('supplier','=',1)]" help="Supplier Partners"/>
341 <field name="category_id" string="Tag" filter_domain="[('category_id','ilike', self)]"/>
342 <field name="user_id"/>
343 <field name="parent_id" domain="[('is_company','=',1)]" operator="child_of"/>
344 <group expand="0" string="Group By">
345 <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
346 <filter string="Company" context="{'group_by': 'parent_id'}"/>
347 <filter string="Country" context="{'group_by': 'country_id'}"/>
353 <!-- Partner Kanban View -->
354 <record model="ir.ui.view" id="res_partner_kanban_view">
355 <field name="name">res.partner.kanban</field>
356 <field name="model">res.partner</field>
357 <field name="arch" type="xml">
359 <field name="color"/>
360 <field name="display_name"/>
361 <field name="title"/>
362 <field name="email"/>
363 <field name="parent_id"/>
364 <field name="is_company"/>
365 <field name="function"/>
366 <field name="phone"/>
367 <field name="street"/>
368 <field name="street2"/>
371 <field name="country_id"/>
372 <field name="mobile"/>
373 <field name="state_id"/>
374 <field name="category_id"/>
375 <field name="has_image"/>
377 <t t-name="kanban-box">
378 <div class="oe_kanban_vignette oe_semantic_html_override">
380 <t t-if="record.has_image.raw_value === true">
381 <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_kanban_image"/>
383 <t t-if="record.has_image.raw_value === false">
384 <t t-if="record.is_company.raw_value === true">
385 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image"/>
387 <t t-if="record.is_company.raw_value === false">
388 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image"/>
392 <div class="oe_kanban_details">
393 <h4 class="oe_partner_heading"><a type="open"><field name="display_name"/></a></h4>
394 <div class="oe_kanban_partner_categories"/>
395 <div class="oe_kanban_partner_links"/>
397 <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
398 <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
399 <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
400 <li t-if="record.city.raw_value and !record.country_id.raw_value"><field name="city"/></li>
401 <li t-if="!record.city.raw_value and record.country_id.raw_value"><field name="country_id"/></li>
402 <li t-if="record.city.raw_value and record.country_id.raw_value"><field name="city"/>, <field name="country_id"/></li>
403 <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
414 <record id="action_partner_form" model="ir.actions.act_window">
415 <field name="name">Customers</field>
416 <field name="type">ir.actions.act_window</field>
417 <field name="res_model">res.partner</field>
418 <field name="view_type">form</field>
419 <field name="view_mode">kanban,tree,form</field>
420 <field name="context">{"search_default_customer":1}</field>
421 <field name="search_view_id" ref="view_res_partner_filter"/>
422 <field name="help" type="html">
423 <p class="oe_view_nocontent_create">
424 Click to add a contact in your address book.
426 Odoo helps you easily track all activities related to
427 a customer; discussions, history of business opportunities,
432 <record id="action_partner_form_view1" model="ir.actions.act_window.view">
433 <field eval="0" name="sequence"/>
434 <field name="view_mode">kanban</field>
435 <field name="view_id" ref="res_partner_kanban_view"/>
436 <field name="act_window_id" ref="action_partner_form"/>
438 <record id="action_partner_form_view2" model="ir.actions.act_window.view">
439 <field eval="2" name="sequence"/>
440 <field name="view_mode">form</field>
441 <field name="view_id" ref="view_partner_form"/>
442 <field name="act_window_id" ref="action_partner_form"/>
444 <record id="action_partner_tree_view1" model="ir.actions.act_window.view">
445 <field name="sequence" eval="1"/>
446 <field name="view_mode">tree</field>
447 <field name="view_id" ref="view_partner_tree"/>
448 <field name="act_window_id" ref="action_partner_form"/>
450 <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="2"/>
452 <record id="action_partner_customer_form" model="ir.actions.act_window">
453 <field name="name">Customers</field>
454 <field name="type">ir.actions.act_window</field>
455 <field name="res_model">res.partner</field>
456 <field name="view_type">form</field>
457 <field name="view_mode">kanban,tree,form</field>
458 <field name="domain">[]</field>
459 <field name="context">{'default_customer':1, 'search_default_customer':1}</field>
460 <field name="filter" eval="True"/>
461 <field name="help" type="html">
462 <p class="oe_view_nocontent_create">
463 Click to add a contact in your address book.
465 Odoo helps you easily track all activities related to
466 a customer: discussions, history of business opportunities,
472 <record id="action_partner_supplier_form" model="ir.actions.act_window">
473 <field name="name">Suppliers</field>
474 <field name="type">ir.actions.act_window</field>
475 <field name="res_model">res.partner</field>
476 <field name="view_type">form</field>
477 <field name="domain">[]</field>
478 <field name="view_mode">kanban,tree,form</field>
479 <field name="context">{'search_default_supplier': 1,'default_customer': 0,'default_supplier': 1}</field>
480 <field name="filter" eval="True"/>
481 <field name="help" type="html">
482 <p class="oe_view_nocontent_create">
483 Click to add a contact in your address book.
485 Odoo helps you easily track all activities related to
486 a supplier: discussions, history of purchases,
492 <record id="action_partner_employee_form" model="ir.actions.act_window">
493 <field name="name">Employees</field>
494 <field name="type">ir.actions.act_window</field>
495 <field name="res_model">res.partner</field>
496 <field name="view_type">form</field>
497 <field name="domain">[('employee','=',1)]</field>
498 <field name="context">{'default_customer':0, 'default_supplier':0 , 'default_employee':1}</field>
499 <field name="filter" eval="True"/>
502 <record id="action_partner_other_form" model="ir.actions.act_window">
503 <field name="name">Other Partners</field>
504 <field name="type">ir.actions.act_window</field>
505 <field name="res_model">res.partner</field>
506 <field name="view_type">form</field>
507 <field name="domain">[('supplier','<>',1),('customer','<>',1)]</field>
508 <field name="filter" eval="True"/>
512 <record id="view_partner_category_form" model="ir.ui.view">
513 <field name="name">Partner Tags</field>
514 <field name="model">res.partner.category</field>
515 <field name="arch" type="xml">
516 <form string="Partner Tag">
519 <field name="active"/>
520 <field name="parent_id"/>
525 <record id="view_partner_category_list" model="ir.ui.view">
526 <field name="name">Partner Tags</field>
527 <field name="model">res.partner.category</field>
528 <field eval="6" name="priority"/>
529 <field name="arch" type="xml">
530 <tree string="Partner Tags">
531 <field name="complete_name"/>
535 <record id="view_partner_category_tree" model="ir.ui.view">
536 <field name="name">res.partner.category.tree</field>
537 <field name="model">res.partner.category</field>
538 <field name="field_parent">child_ids</field>
539 <field name="arch" type="xml">
540 <tree toolbar="1" string="Partner Tags">
546 <record id="action_partner_category" model="ir.actions.act_window">
547 <field name="name">Partners by Categories</field>
548 <field name="type">ir.actions.act_window</field>
549 <field name="res_model">res.partner.category</field>
550 <field name="view_type">tree</field>
551 <field name="view_id" ref="view_partner_category_tree"/>
552 <field name="domain">[('parent_id','=',False)]</field>
554 <menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"
555 groups="base.group_no_one"/>
558 <record id="action_partner_by_category" model="ir.actions.act_window">
559 <field name="name">Partner Tags</field>
560 <field name="res_model">res.partner</field>
561 <field name="view_type">form</field>
562 <field name="view_mode">tree,form</field>
563 <field name="domain">[('category_id','child_of', [active_id])]</field>
564 <field name="context">{'category_id':active_id}</field>
565 <field name="search_view_id" ref="view_res_partner_filter"/>
568 <record id="ir_action_partner_by_category" model="ir.values">
569 <field eval="'tree_but_open'" name="key2"/>
570 <field eval="'res.partner.category'" name="model"/>
571 <field name="name">Open partners</field>
572 <field eval="'ir.actions.act_window,%d'%action_partner_by_category" name="value"/>
575 <record id="action_partner_category_form" model="ir.actions.act_window">
576 <field name="name">Partner Tags</field>
577 <field name="type">ir.actions.act_window</field>
578 <field name="res_model">res.partner.category</field>
579 <field name="view_type">form</field>
580 <field name="help" type="html">
581 <p class="oe_view_nocontent_create">
582 Click to create a new partner tags.
584 Manage the partner tags to better classify them for tracking and analysis purposes.
585 A partner may have several tags and tags have a hierarchical structure: a partner with a tag has also the parent tags.
590 <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"/>