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"/>
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" invisible="1"/>
87 <field name="country_id" invisible="1"/>
88 <field name="parent_id" invisible="1"/>
93 <record id="view_partner_simple_form" model="ir.ui.view">
94 <field name="name">res.partner.simplified.form</field>
95 <field name="model">res.partner</field>
96 <field name="arch" type="xml">
97 <form string="Contact" version="7.0">
98 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
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?"/>)
105 <field name="name" default_focus="1" placeholder="Name" />
107 <field name="parent_id"
108 placeholder="Company"
109 domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
110 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"/>
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 oe_left">
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 <div class="oe_edit_only">
160 <field name="use_parent_address" class="oe_inline"
161 on_change="onchange_address(use_parent_address, parent_id)"
162 attrs="{'invisible': [('parent_id','=', False),('use_parent_address','=',False)]}"/>
163 <label for="use_parent_address" attrs="{'invisible': [('parent_id','=', False),('use_parent_address','=',False)]}"/>
165 <button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only"
166 attrs="{'invisible': ['|',('parent_id','=', False),('use_parent_address','=',False)]}"/>
167 <field name="street" placeholder="Street..." attrs="{'readonly': [('use_parent_address','=',True)]}"/>
168 <field name="street2" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
169 <div class="address_format">
170 <field name="city" placeholder="City" style="width: 40%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
171 <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)]}"/>
172 <field name="zip" placeholder="ZIP" style="width: 20%%" attrs="{'readonly': [('use_parent_address','=',True)]}"/>
174 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}' attrs="{'readonly': [('use_parent_address','=',True)]}"/>
176 <field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
179 <field name="function" placeholder="e.g. Sales Director"
180 attrs="{'invisible': [('is_company','=', True)]}"/>
181 <field name="phone" placeholder="e.g. +32.81.81.37.00"/>
182 <field name="mobile"/>
184 <field name="user_ids" invisible="1"/>
185 <field name="email" widget="email" attrs="{'required': [('user_ids','!=', [])]}"/>
186 <field name="title" domain="[('domain', '=', 'contact')]"
187 options='{"no_open": True}' attrs="{'invisible': [('is_company','=', True)]}" />
191 <notebook colspan="4">
192 <page string="Contacts" attrs="{'invisible': [('is_company','=',False), ('child_ids', '=', [])]}" autofocus="autofocus">
193 <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}">
195 <field name="color"/>
197 <field name="title"/>
198 <field name="email"/>
199 <field name="parent_id"/>
200 <field name="is_company"/>
201 <field name="function"/>
202 <field name="phone"/>
203 <field name="street"/>
204 <field name="street2"/>
207 <field name="country_id"/>
208 <field name="mobile"/>
210 <field name="state_id"/>
211 <field name="has_image"/>
213 <t t-name="kanban-box">
214 <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
215 <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')" style="position: relative">
216 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
217 <div class="oe_module_vignette">
219 <t t-if="record.has_image.raw_value === true">
220 <img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
222 <t t-if="record.image and record.image.raw_value !== false">
223 <img t-att-src="'data:image/png;base64,'+record.image.raw_value" class="oe_avatar oe_kanban_avatar_smallbox"/>
225 <t t-if="record.has_image.raw_value === false and (!record.image or record.image.raw_value === false)">
226 <t t-if="record.is_company.raw_value === true">
227 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
229 <t t-if="record.is_company.raw_value === false">
230 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image oe_kanban_avatar_smallbox"/>
234 <div class="oe_module_desc">
235 <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_color_border">
236 <table class="oe_kanban_table">
238 <td class="oe_kanban_title1" align="left" valign="middle">
239 <h4><a type="open"><field name="name"/></a></h4>
240 <i><div t-if="record.function.raw_value">
241 <field name="function"/></div></i>
242 <div><a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value">
243 <field name="email"/>
245 <div t-if="record.phone.raw_value">Phone: <field name="phone"/></div>
246 <div t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></div>
247 <div t-if="record.fax.raw_value">Fax: <field name="fax"/></div>
258 <form string="Contact" version="7.0">
260 <field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
261 <div class="oe_title">
262 <label for="name" class="oe_edit_only"/>
263 <h1><field name="name" style="width: 70%%"/></h1>
264 <field name="category_id" widget="many2many_tags" placeholder="Tags..." style="width: 70%%"/>
267 <field name="function" placeholder="e.g. Sales Director"/>
268 <field name="email"/>
269 <field name="phone"/>
270 <field name="mobile"/>
273 <field name="use_parent_address"/><label for="use_parent_address"/>
277 <div name="div_type">
278 <field class="oe_inline" name="type"/>
280 <label for="street" string="Address" attrs="{'invisible': [('use_parent_address','=', True)]}"/>
281 <div attrs="{'invisible': [('use_parent_address','=', True)]}" name="div_address">
282 <field name="street" placeholder="Street..."/>
283 <field name="street2"/>
284 <div class="address_format">
285 <field name="city" placeholder="City" style="width: 40%%"/>
286 <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
287 <field name="zip" placeholder="ZIP" style="width: 20%%"/>
289 <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
292 <field name="supplier" invisible="True"/>
293 <field name="customer" invisible="True"/>
298 <page name='internal_notes' string="Internal Notes">
299 <field name="comment" placeholder="Put an internal note..."/>
301 <page name='sales_purchases' string="Sales & Purchases">
304 <field name="user_id"
305 context="{'default_groups_ref': ['base.group_partner_manager']}"/>
306 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
309 <field name="customer"/>
310 <field name="supplier"/>
318 <field name="active"/>
328 <record id="view_res_partner_filter" model="ir.ui.view">
329 <field name="name">res.partner.select</field>
330 <field name="model">res.partner</field>
331 <field name="arch" type="xml">
332 <search string="Search Partner">
334 filter_domain="['|','|',('display_name','ilike',self),('ref','=',self),('email','ilike',self)]"/>
335 <filter help="My Partners" icon="terp-personal+" domain="[('user_id','=',uid)]"/>
337 <filter string="Persons" name="type_person" domain="[('is_company','=',0)]"/>
338 <filter string="Companies" name="type_company" domain="[('is_company','=',1)]"/>
340 <filter string="Customers" name="customer" domain="[('customer','=',1)]" help="Customer Partners"/>
341 <filter string="Suppliers" name="supplier" domain="[('supplier','=',1)]" help="Supplier Partners"/>
343 <field name="category_id" string="Tag" filter_domain="[('category_id','ilike', self)]"/>
344 <field name="user_id"/>
345 <field name="parent_id" domain="[('is_company','=',1)]" operator="child_of"/>
346 <group expand="0" string="Group By...">
347 <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
348 <filter string="Company" context="{'group_by': 'parent_id'}"/>
349 <filter string="Country" context="{'group_by': 'country_id'}"/>
355 <!-- Partner Kanban View -->
356 <record model="ir.ui.view" id="res_partner_kanban_view">
357 <field name="name">res.partner.kanban</field>
358 <field name="model">res.partner</field>
359 <field name="arch" type="xml">
361 <field name="color"/>
362 <field name="display_name"/>
363 <field name="title"/>
364 <field name="email"/>
365 <field name="parent_id"/>
366 <field name="is_company"/>
367 <field name="function"/>
368 <field name="phone"/>
369 <field name="street"/>
370 <field name="street2"/>
373 <field name="country_id"/>
374 <field name="mobile"/>
375 <field name="state_id"/>
376 <field name="category_id"/>
377 <field name="has_image"/>
379 <t t-name="kanban-box">
380 <div class="oe_kanban_vignette oe_semantic_html_override">
382 <t t-if="record.has_image.raw_value === true">
383 <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_kanban_image"/>
385 <t t-if="record.has_image.raw_value === false">
386 <t t-if="record.is_company.raw_value === true">
387 <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image"/>
389 <t t-if="record.is_company.raw_value === false">
390 <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image"/>
394 <div class="oe_kanban_details">
395 <h4 class="oe_partner_heading"><a type="open"><field name="display_name"/></a></h4>
396 <div class="oe_kanban_partner_categories"/>
397 <div class="oe_kanban_partner_links"/>
399 <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
400 <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
401 <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
402 <li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
403 <li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
404 <li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
405 <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
416 <record id="action_partner_form" model="ir.actions.act_window">
417 <field name="name">Customers</field>
418 <field name="type">ir.actions.act_window</field>
419 <field name="res_model">res.partner</field>
420 <field name="view_type">form</field>
421 <field name="view_mode">kanban,tree,form</field>
422 <field name="context">{"search_default_customer":1}</field>
423 <field name="search_view_id" ref="view_res_partner_filter"/>
424 <field name="help" type="html">
425 <p class="oe_view_nocontent_create">
426 Click to add a contact in your address book.
428 OpenERP helps you easily track all activities related to
429 a customer; discussions, history of business opportunities,
434 <record id="action_partner_form_view1" model="ir.actions.act_window.view">
435 <field eval="0" name="sequence"/>
436 <field name="view_mode">kanban</field>
437 <field name="view_id" ref="res_partner_kanban_view"/>
438 <field name="act_window_id" ref="action_partner_form"/>
440 <record id="action_partner_form_view2" model="ir.actions.act_window.view">
441 <field eval="2" name="sequence"/>
442 <field name="view_mode">form</field>
443 <field name="view_id" ref="view_partner_form"/>
444 <field name="act_window_id" ref="action_partner_form"/>
446 <record id="action_partner_tree_view1" model="ir.actions.act_window.view">
447 <field name="sequence" eval="1"/>
448 <field name="view_mode">tree</field>
449 <field name="view_id" ref="view_partner_tree"/>
450 <field name="act_window_id" ref="action_partner_form"/>
452 <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="2"/>
454 <record id="action_partner_customer_form" model="ir.actions.act_window">
455 <field name="name">Customers</field>
456 <field name="type">ir.actions.act_window</field>
457 <field name="res_model">res.partner</field>
458 <field name="view_type">form</field>
459 <field name="view_mode">kanban,tree,form</field>
460 <field name="domain">[('customer','=',1)]</field>
461 <field name="context">{'default_customer':1, 'search_default_customer':1}</field>
462 <field name="filter" eval="True"/>
463 <field name="help" type="html">
464 <p class="oe_view_nocontent_create">
465 Click to add a contact in your address book.
467 OpenERP helps you easily track all activities related to
468 a customer: discussions, history of business opportunities,
474 <record id="action_partner_supplier_form" model="ir.actions.act_window">
475 <field name="name">Suppliers</field>
476 <field name="type">ir.actions.act_window</field>
477 <field name="res_model">res.partner</field>
478 <field name="view_type">form</field>
479 <field name="domain">[]</field>
480 <field name="view_mode">kanban,tree,form</field>
481 <field name="context">{'search_default_supplier': 1,'default_customer': 0,'default_supplier': 1}</field>
482 <field name="filter" eval="True"/>
483 <field name="help" type="html">
484 <p class="oe_view_nocontent_create">
485 Click to add a contact in your address book.
487 OpenERP helps you easily track all activities related to
488 a supplier: discussions, history of purchases,
494 <record id="action_partner_employee_form" model="ir.actions.act_window">
495 <field name="name">Employees</field>
496 <field name="type">ir.actions.act_window</field>
497 <field name="res_model">res.partner</field>
498 <field name="view_type">form</field>
499 <field name="domain">[('employee','=',1)]</field>
500 <field name="context">{'default_customer':0, 'default_supplier':0 , 'default_employee':1}</field>
501 <field name="filter" eval="True"/>
504 <record id="action_partner_other_form" model="ir.actions.act_window">
505 <field name="name">Other Partners</field>
506 <field name="type">ir.actions.act_window</field>
507 <field name="res_model">res.partner</field>
508 <field name="view_type">form</field>
509 <field name="domain">[('supplier','<>',1),('customer','<>',1)]</field>
510 <field name="filter" eval="True"/>
514 <record id="view_partner_category_form" model="ir.ui.view">
515 <field name="name">Partner Tags</field>
516 <field name="model">res.partner.category</field>
517 <field name="arch" type="xml">
518 <form string="Partner Tag" version="7.0">
521 <field name="active"/>
522 <field name="parent_id"/>
527 <record id="view_partner_category_list" model="ir.ui.view">
528 <field name="name">Partner Tags</field>
529 <field name="model">res.partner.category</field>
530 <field eval="6" name="priority"/>
531 <field name="arch" type="xml">
532 <tree string="Partner Tags">
533 <field name="complete_name"/>
537 <record id="view_partner_category_tree" model="ir.ui.view">
538 <field name="name">res.partner.category.tree</field>
539 <field name="model">res.partner.category</field>
540 <field name="field_parent">child_ids</field>
541 <field name="arch" type="xml">
542 <tree toolbar="1" string="Partner Tags">
548 <record id="action_partner_category" model="ir.actions.act_window">
549 <field name="name">Partners by Categories</field>
550 <field name="type">ir.actions.act_window</field>
551 <field name="res_model">res.partner.category</field>
552 <field name="view_type">tree</field>
553 <field name="view_id" ref="view_partner_category_tree"/>
554 <field name="domain">[('parent_id','=',False)]</field>
556 <menuitem action="action_partner_category" id="menu_partner_category_main" parent="base.menu_address_book" sequence="1"
557 groups="base.group_no_one"/>
560 <record id="action_partner_by_category" model="ir.actions.act_window">
561 <field name="name">Partner Tags</field>
562 <field name="res_model">res.partner</field>
563 <field name="view_type">form</field>
564 <field name="view_mode">tree,form</field>
565 <field name="domain">[('category_id','child_of', [active_id])]</field>
566 <field name="context">{'category_id':active_id}</field>
567 <field name="search_view_id" ref="view_res_partner_filter"/>
570 <record id="ir_action_partner_by_category" model="ir.values">
571 <field eval="'tree_but_open'" name="key2"/>
572 <field eval="'res.partner.category'" name="model"/>
573 <field name="name">Open partners</field>
574 <field eval="'ir.actions.act_window,%d'%action_partner_by_category" name="value"/>
577 <record id="action_partner_category_form" model="ir.actions.act_window">
578 <field name="name">Partner Tags</field>
579 <field name="type">ir.actions.act_window</field>
580 <field name="res_model">res.partner.category</field>
581 <field name="view_type">form</field>
582 <field name="help" type="html">
583 <p class="oe_view_nocontent_create">
584 Click to create a new partner tags.
586 Manage the partner tags to better classify them for tracking and analysis purposes.
587 A partner may have several tags and tags have a hierarchical structure: a partner with a tag has also the parent tags.
592 <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"/>