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">
81 <field name="display_name"/>
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="user_ids" invisible="1"/>
116 <field name="email" widget="email" required="context.get('force_email', False)" attrs="{'required': [('user_ids','!=', [])]}"/>
117 <field name="phone"/>
118 <field name="mobile"/>
125 <record id="view_partner_form" model="ir.ui.view">
126 <field name="name">res.partner.form</field>
127 <field name="model">res.partner</field>
128 <field eval="1" name="priority"/>
129 <field name="arch" type="xml">
130 <form string="Partners" version="7.0">
132 <field name="image" widget='image' class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
133 <div class="oe_title oe_left">
134 <div class="oe_edit_only">
135 <label for="name"/> (
136 <field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
139 <field name="name" default_focus="1" placeholder="Name" />
141 <field name="parent_id"
142 placeholder="Company"
143 domain="[('is_company', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer}"
144 attrs="{'invisible': [('is_company','=', True),('parent_id', '=', False)]}"
145 on_change="onchange_address(use_parent_address, parent_id)"/>
146 <field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
148 <div class="oe_right oe_button_box" name="buttons"> </div>
152 <label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
153 <div attrs="{'invisible': [('parent_id','=', False)]}" name="div_type">
154 <field class="oe_inline"
158 <label for="street" string="Address"/>
160 <div class="oe_edit_only">
161 <field name="use_parent_address" class="oe_inline"
162 on_change="onchange_address(use_parent_address, parent_id)"
163 attrs="{'invisible': ['|', ('is_company', '=', True),('parent_id', '=', False)]}"/>
164 <label for="use_parent_address" attrs="{'invisible': ['|', ('is_company', '=', True), ('parent_id', '=', False)]}"/>
166 <button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only"
167 attrs="{'invisible': ['|',('parent_id','=', False),('use_parent_address','=',False)]}"/>
168 <field name="street" placeholder="Street..." attrs="{'readonly': [('use_parent_address','=',True)]}"/>
169 <field name="street2" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
170 <div class="address_format">
171 <field name="city" placeholder="City" style="width: 40%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
172 <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)]}"/>
173 <field name="zip" placeholder="ZIP" style="width: 20%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
175 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}' attrs="{'readonly': [('use_parent_address','=',True)]}"/>
177 <field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
180 <field name="function" placeholder="e.g. Sales Director"
181 attrs="{'invisible': [('is_company','=', True)]}"/>
182 <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
183 <field name="mobile"/>
185 <field name="user_ids" invisible="1"/>
186 <field name="email" widget="email" attrs="{'required': [('user_ids','!=', [])]}"/>
187 <field name="title" domain="[('domain','=','contact')]" options='{"no_open": True}' attrs="{'invisible': [('is_company','=',True)]}" context="{'default_domain': 'contact'}"/>
188 <field name="title" domain="[('domain','=','partner')]" options='{"no_open": True}' attrs="{'invisible': [('is_company','=',False)]}" context="{'default_domain': 'partner'}"/>
192 <notebook colspan="4">
193 <page string="Contacts" attrs="{'invisible': [('is_company','=',False), ('child_ids', '=', [])]}" autofocus="autofocus">
194 <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}">
196 <field name="color"/>
198 <field name="title"/>
199 <field name="email"/>
200 <field name="parent_id"/>
201 <field name="is_company"/>
202 <field name="function"/>
203 <field name="phone"/>
204 <field name="street"/>
205 <field name="street2"/>
208 <field name="country_id"/>
209 <field name="mobile"/>
211 <field name="state_id"/>
212 <field name="has_image"/>
214 <t t-name="kanban-box">
215 <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
216 <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')" style="position: relative">
217 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
218 <div class="oe_module_vignette">
220 <t t-if="record.has_image.raw_value === true">
221 <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
223 <t t-if="record.image and record.image.raw_value !== false">
224 <img t-att-src="'data:image/png;base64,'+record.image.raw_value" class="oe_avatar oe_kanban_avatar_smallbox"/>
226 <t t-if="record.has_image.raw_value === false and (!record.image or record.image.raw_value === false)">
227 <t t-if="record.is_company.raw_value === true">
228 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
230 <t t-if="record.is_company.raw_value === false">
231 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
235 <div class="oe_module_desc">
236 <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_color_border">
237 <table class="oe_kanban_table">
239 <td class="oe_kanban_title1" align="left" valign="middle">
240 <h4><a type="open"><field name="name"/></a></h4>
241 <i><div t-if="record.function.raw_value">
242 <field name="function"/></div></i>
243 <div><a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value">
244 <field name="email"/>
246 <div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
247 <div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
248 <div t-if="record.fax.raw_value">Fax: <field name="fax"/></div>
259 <form string="Contact" version="7.0">
261 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
262 <div class="oe_title">
263 <label for="name" class="oe_edit_only"/>
264 <h1><field name="name" style="width: 70%%"/></h1>
265 <field name="category_id" widget="many2many_tags" placeholder="Tags..." style="width: 70%%"/>
268 <field name="function" placeholder="e.g. Sales Director"/>
269 <field name="email"/>
270 <field name="phone"/>
271 <field name="mobile"/>
274 <field name="use_parent_address"/><label for="use_parent_address"/>
278 <div name="div_type">
279 <field class="oe_inline" name="type"/>
281 <label for="street" string="Address" attrs="{'invisible': [('use_parent_address','=', True)]}"/>
282 <div attrs="{'invisible': [('use_parent_address','=', True)]}" name="div_address">
283 <field name="street" placeholder="Street..."/>
284 <field name="street2"/>
285 <div class="address_format">
286 <field name="city" placeholder="City" style="width: 40%%"/>
287 <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
288 <field name="zip" placeholder="ZIP" style="width: 20%%"/>
290 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
293 <field name="supplier" invisible="True"/>
294 <field name="customer" invisible="True"/>
299 <page name='internal_notes' string="Internal Notes">
300 <field name="comment" placeholder="Put an internal note..."/>
302 <page name='sales_purchases' string="Sales & Purchases">
305 <field name="user_id"
306 context="{'default_groups_ref': ['base.group_partner_manager']}"/>
307 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
310 <field name="customer"/>
311 <field name="supplier"/>
319 <field name="active"/>
329 <record id="view_res_partner_filter" model="ir.ui.view">
330 <field name="name">res.partner.select</field>
331 <field name="model">res.partner</field>
332 <field name="arch" type="xml">
333 <search string="Search Partner">
335 filter_domain="['|','|',('display_name','ilike',self),('ref','=',self),('email','ilike',self)]"/>
336 <filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
338 <filter string="Persons" name="type_person" domain="[('is_company','=',0)]"/>
339 <filter string="Companies" name="type_company" domain="[('is_company','=',1)]"/>
341 <filter string="Customers" name="customer" domain="[('customer','=',1)]" help="Customer Partners"/>
342 <filter string="Suppliers" name="supplier" domain="[('supplier','=',1)]" help="Supplier Partners"/>
344 <field name="category_id" string="Tag" filter_domain="[('category_id','ilike', self)]"/>
345 <field name="user_id"/>
346 <field name="parent_id" domain="[('is_company','=',1)]" operator="child_of"/>
347 <group expand="0" string="Group By...">
348 <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
349 <filter string="Company" context="{'group_by': 'parent_id'}"/>
350 <filter string="Country" context="{'group_by': 'country_id'}"/>
356 <!-- Partner Kanban View -->
357 <record model="ir.ui.view" id="res_partner_kanban_view">
358 <field name="name">res.partner.kanban</field>
359 <field name="model">res.partner</field>
360 <field name="arch" type="xml">
362 <field name="color"/>
363 <field name="display_name"/>
364 <field name="title"/>
365 <field name="email"/>
366 <field name="parent_id"/>
367 <field name="is_company"/>
368 <field name="function"/>
369 <field name="phone"/>
370 <field name="street"/>
371 <field name="street2"/>
374 <field name="country_id"/>
375 <field name="mobile"/>
376 <field name="state_id"/>
377 <field name="category_id"/>
378 <field name="has_image"/>
380 <t t-name="kanban-box">
381 <div class="oe_kanban_vignette oe_semantic_html_override">
383 <t t-if="record.has_image.raw_value === true">
384 <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_kanban_image"/>
386 <t t-if="record.has_image.raw_value === false">
387 <t t-if="record.is_company.raw_value === true">
388 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image"/>
390 <t t-if="record.is_company.raw_value === false">
391 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image"/>
395 <div class="oe_kanban_details">
396 <h4 class="oe_partner_heading"><a type="open"><field name="display_name"/></a></h4>
397 <div class="oe_kanban_partner_categories"/>
398 <div class="oe_kanban_partner_links"/>
400 <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
401 <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
402 <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
403 <li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
404 <li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
405 <li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
406 <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
417 <record id="action_partner_form" model="ir.actions.act_window">
418 <field name="name">Customers</field>
419 <field name="type">ir.actions.act_window</field>
420 <field name="res_model">res.partner</field>
421 <field name="view_type">form</field>
422 <field name="view_mode">kanban,tree,form</field>
423 <field name="context">{"search_default_customer":1}</field>
424 <field name="search_view_id" ref="view_res_partner_filter"/>
425 <field name="help" type="html">
426 <p class="oe_view_nocontent_create">
427 Click to add a contact in your address book.
429 OpenERP helps you easily track all activities related to
430 a customer; discussions, history of business opportunities,
435 <record id="action_partner_form_view1" model="ir.actions.act_window.view">
436 <field eval="0" name="sequence"/>
437 <field name="view_mode">kanban</field>
438 <field name="view_id" ref="res_partner_kanban_view"/>
439 <field name="act_window_id" ref="action_partner_form"/>
441 <record id="action_partner_form_view2" model="ir.actions.act_window.view">
442 <field eval="2" name="sequence"/>
443 <field name="view_mode">form</field>
444 <field name="view_id" ref="view_partner_form"/>
445 <field name="act_window_id" ref="action_partner_form"/>
447 <record id="action_partner_tree_view1" model="ir.actions.act_window.view">
448 <field name="sequence" eval="1"/>
449 <field name="view_mode">tree</field>
450 <field name="view_id" ref="view_partner_tree"/>
451 <field name="act_window_id" ref="action_partner_form"/>
453 <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="2"/>
455 <record id="action_partner_customer_form" model="ir.actions.act_window">
456 <field name="name">Customers</field>
457 <field name="type">ir.actions.act_window</field>
458 <field name="res_model">res.partner</field>
459 <field name="view_type">form</field>
460 <field name="view_mode">kanban,tree,form</field>
461 <field name="domain">[('customer','=',1)]</field>
462 <field name="context">{'default_customer':1, 'search_default_customer':1}</field>
463 <field name="filter" eval="True"/>
464 <field name="help" type="html">
465 <p class="oe_view_nocontent_create">
466 Click to add a contact in your address book.
468 OpenERP helps you easily track all activities related to
469 a customer: discussions, history of business opportunities,
475 <record id="action_partner_supplier_form" model="ir.actions.act_window">
476 <field name="name">Suppliers</field>
477 <field name="type">ir.actions.act_window</field>
478 <field name="res_model">res.partner</field>
479 <field name="view_type">form</field>
480 <field name="domain">[]</field>
481 <field name="view_mode">kanban,tree,form</field>
482 <field name="context">{'search_default_supplier': 1,'default_customer': 0,'default_supplier': 1}</field>
483 <field name="filter" eval="True"/>
484 <field name="help" type="html">
485 <p class="oe_view_nocontent_create">
486 Click to add a contact in your address book.
488 OpenERP helps you easily track all activities related to
489 a supplier: discussions, history of purchases,
495 <record id="action_partner_employee_form" model="ir.actions.act_window">
496 <field name="name">Employees</field>
497 <field name="type">ir.actions.act_window</field>
498 <field name="res_model">res.partner</field>
499 <field name="view_type">form</field>
500 <field name="domain">[('employee','=',1)]</field>
501 <field name="context">{'default_customer':0, 'default_supplier':0 , 'default_employee':1}</field>
502 <field name="filter" eval="True"/>
505 <record id="action_partner_other_form" model="ir.actions.act_window">
506 <field name="name">Other Partners</field>
507 <field name="type">ir.actions.act_window</field>
508 <field name="res_model">res.partner</field>
509 <field name="view_type">form</field>
510 <field name="domain">[('supplier','<>',1),('customer','<>',1)]</field>
511 <field name="filter" eval="True"/>
515 <record id="view_partner_category_form" model="ir.ui.view">
516 <field name="name">Partner Tags</field>
517 <field name="model">res.partner.category</field>
518 <field name="arch" type="xml">
519 <form string="Partner Tag" version="7.0">
522 <field name="active"/>
523 <field name="parent_id"/>
528 <record id="view_partner_category_list" model="ir.ui.view">
529 <field name="name">Partner Tags</field>
530 <field name="model">res.partner.category</field>
531 <field eval="6" name="priority"/>
532 <field name="arch" type="xml">
533 <tree string="Partner Tags">
534 <field name="complete_name"/>
538 <record id="view_partner_category_tree" model="ir.ui.view">
539 <field name="name">res.partner.category.tree</field>
540 <field name="model">res.partner.category</field>
541 <field name="field_parent">child_ids</field>
542 <field name="arch" type="xml">
543 <tree toolbar="1" string="Partner Tags">
549 <record id="action_partner_category" model="ir.actions.act_window">
550 <field name="name">Partners by Categories</field>
551 <field name="type">ir.actions.act_window</field>
552 <field name="res_model">res.partner.category</field>
553 <field name="view_type">tree</field>
554 <field name="view_id" ref="view_partner_category_tree"/>
555 <field name="domain">[('parent_id','=',False)]</field>
557 <menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"
558 groups="base.group_no_one"/>
561 <record id="action_partner_by_category" model="ir.actions.act_window">
562 <field name="name">Partner Tags</field>
563 <field name="res_model">res.partner</field>
564 <field name="view_type">form</field>
565 <field name="view_mode">tree,form</field>
566 <field name="domain">[('category_id','child_of', [active_id])]</field>
567 <field name="context">{'category_id':active_id}</field>
568 <field name="search_view_id" ref="view_res_partner_filter"/>
571 <record id="ir_action_partner_by_category" model="ir.values">
572 <field eval="'tree_but_open'" name="key2"/>
573 <field eval="'res.partner.category'" name="model"/>
574 <field name="name">Open partners</field>
575 <field eval="'ir.actions.act_window,%d'%action_partner_by_category" name="value"/>
578 <record id="action_partner_category_form" model="ir.actions.act_window">
579 <field name="name">Partner Tags</field>
580 <field name="type">ir.actions.act_window</field>
581 <field name="res_model">res.partner.category</field>
582 <field name="view_type">form</field>
583 <field name="help" type="html">
584 <p class="oe_view_nocontent_create">
585 Click to create a new partner tags.
587 Manage the partner tags to better classify them for tracking and analysis purposes.
588 A partner may have several tags and tags have a hierarchical structure: a partner with a tag has also the parent tags.
593 <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"/>