<?xml version="1.0"?>
<openerp>
<data>
+
+ <record id="crm_opportunity_stage_act" model="ir.actions.act_window">
+ <field name="name">Stages</field>
+ <field name="res_model">crm.case.stage</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_stage_tree"/>
+ <field name="domain">[('type', '=', 'opportunity')]</field>
+ <field name="context">{'type':'opportunity'}</field>
+ <field name="help">Create specific stages that will help your sales better organise their sales pipeline by maintaining them to their sales opportunities. It will allow them to easily track how is positioned a specific opportunity in the sales cycle.</field>
+ </record>
+
- <!-- Opportunity Categories Form View -->
-
- <record id="crm_opportunity_categ_action" model="ir.actions.act_window">
- <field name="name">Opportunity Categories</field>
- <field name="res_model">crm.case.categ</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="crm.crm_case_categ_tree-view"/>
- <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
- <field name="context">{'object_id':'crm.lead'}</field>
- </record>
-
- <menuitem action="crm_opportunity_categ_action"
- id="menu_crm_case_opportunity-act" name="Categories"
- parent="menu_crm_config_opportunity" />
-
- <!-- Opportunity Stages Form View-->
-
- <record id="crm_opportunity_stage_act" model="ir.actions.act_window">
- <field name="name">Opportunity Stages</field>
- <field name="res_model">crm.case.stage</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="crm.crm_case_stage_tree"/>
- <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
- <field name="context">{'object_id':'crm.lead'}</field>
- </record>
-
- <menuitem action="crm_opportunity_stage_act"
- id="menu_crm_opportunity_stage_act" name="Stages"
- parent="menu_crm_config_opportunity" />
-
- <!-- Opportunity Resource Type Form View -->
-
- <record id="crm_opportunity_resource_act" model="ir.actions.act_window">
- <field name="name">Opportunity Resource Type</field>
- <field name="res_model">crm.case.resource.type</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
- <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
- <field name="context">{'object_id':'crm.lead'}</field>
- </record>
-
- <menuitem action="crm_opportunity_resource_act"
- id="menu_crm_opportunity_resource_act" name="Resource"
- parent="menu_crm_config_opportunity" />
+ <menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" name="Stages"
+ groups="base.group_extended" sequence="0"
+ parent="base.menu_crm_config_opportunity" />
+
<!-- Opportunities Form View -->
-
<record model="ir.ui.view" id="crm_case_form_view_oppor">
<field name="name">Opportunities</field>
<field name="model">crm.lead</field>
<field name="type">form</field>
+ <field name="priority">10</field>
<field name="arch" type="xml">
<form string="Opportunities">
<group colspan="4" col="7">
<label string="Stage:" align="1.0"/>
<group colspan="1" col="4">
<field name="stage_id" nolabel="1"
- on_change="onchange_stage_id(stage_id)"
- widget="selection"
- domain="[('object_id.model', '=', 'crm.lead')]" />
+ on_change="onchange_stage_id(stage_id)"
+ domain="[('type','=','opportunity'),('section_ids', '=', section_id)]"/>
<button name="stage_previous"
- states="open,pending" type="object"
- icon="gtk-go-back" string="" />
- <button name="stage_next" states="open,pending"
- type="object" icon="gtk-go-forward" string="" />
+ states="draft,open,pending" type="object"
+ icon="gtk-go-back" string="" />
+ <button name="stage_next" states="draft,open,pending"
+ type="object" icon="gtk-go-forward" string="" context="{'stage_type': 'opportunity'}"/>
</group>
<field name="user_id"/>
- <button name="action_makeMeeting" type="object"
- string="Schedule Meeting" icon="gtk-redo" />
+ <button string="Schedule/Log Call"
+ name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action" groups="base.group_extended"/>
<field name="planned_revenue"/>
<field name="probability"/>
- <field name="date_deadline" string="Expected Closing"/>
- <button string="Schedule Call"
- name="%(opportunity2phonecall_act)d" icon="gtk-redo" type="action" />
+ <field name="date_deadline"/>
+
+ <button name="action_makeMeeting" type="object"
+ string="Schedule Meeting" icon="gtk-redo" />
<newline/>
<field name="date_action"/>
<field name="title_action"/>
<page string="Opportunity">
<group col="4" colspan="2">
<separator colspan="4" string="Contacts"/>
- <field name="partner_id" select="1"
- on_change="onchange_partner_id(partner_id, email_from)"
- colspan="2" />
+ <group colspan="2">
+ <field name="partner_id" select="1"
+ on_change="onchange_partner_id(partner_id, email_from)" string="Customer"
+ colspan="2" />
+ <button name="%(action_crm_lead2partner)d"
+ icon="terp-partner" type="action"
+ string="Create"
+ attrs="{'invisible':[('partner_id','!=',False)]}"/>
+ </group>
<field name="partner_address_id"
- string="Contact"
- on_change="onchange_partner_address_id(partner_address_id, email_from)"
- colspan="1" />
+ string="Contact"
+ on_change="onchange_partner_address_id(partner_address_id, email_from)"
+ colspan="1" />
<field name="email_from" string="Email" />
<field name="phone"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Categorization"/>
<field name="section_id" colspan="1" widget="selection"/>
- <field name="categ_id" select="1" groups="base.group_extended"
+ <field name="categ_id" select="1"
string="Category" widget="selection"
domain="[('object_id.model', '=', 'crm.lead')]" />
</group>
<field name="description" nolabel="1" colspan="4"/>
<separator colspan="4"/>
- <group col="8" colspan="4">
+ <group col="10" colspan="4">
<field name="state"/>
+ <button name="case_cancel" string="Cancel"
+ states="draft" type="object"
+ icon="gtk-cancel" />
+ <button name="case_mark_lost" string="Mark Lost"
+ states="open,pending" type="object"
+ icon="gtk-cancel" />
+ <button name="case_reset" string="Reset to Draft"
+ states="done,cancel" type="object"
+ icon="gtk-convert" />
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
states="draft,open" type="object"
icon="gtk-media-pause" />
<button name="case_escalate" string="Escalate"
- states="open,draft,pending" type="object"
+ states="open,pending" type="object"
groups="base.group_extended"
icon="gtk-go-up" />
- <button name="case_cancel" string="Mark Lost"
- states="draft,open,pending" type="object"
- icon="gtk-close" />
<button name="case_close" string="Mark Won"
- states="open,draft,pending" type="object"
+ states="open,pending" type="object"
icon="gtk-apply" />
- <button name="case_reset" string="Reset to New"
- states="done,cancel" type="object"
- icon="gtk-convert" />
</group>
</page>
<page string="Lead">
<group colspan="2" col="4">
<separator string="Contact" colspan="4" col="4"/>
- <field name="partner_name" string="Partner Name" colspan="4"/>
+ <field name="partner_name" string="Customer Name" colspan="4"/>
<newline/>
- <field domain="[('domain', '=', 'contact')]" name="title"/>
+ <field domain="[('domain', '=', 'contact')]" name="title" widget="selection"/>
<field name="function" />
<field name="street" colspan="4"/>
<field name="street2" colspan="4"/>
<field name="country_id"/>
<field name="state_id"/>
</group>
- <group colspan="2" col="3">
- <separator string="Communication" colspan="4" col="3"/>
+ <group colspan="2" col="2">
+ <separator string="Communication" colspan="2"/>
<field name="fax"/>
- <newline/>
<field name="mobile"/>
</group>
+ <group colspan="2" col="2">
+ <separator string="Categorization" colspan="2"/>
+ <field name="type_id" widget="selection" groups="base.group_extended"/>
+ <field name="channel_id" widget="selection"/>
+ </group>
+ <group colspan="2" col="2">
+ <separator string="Mailings" colspan="2"/>
+ <field name="optin"/>
+ <field name="optout"/>
+ </group>
</page>
- <page string="Emails" groups="base.group_extended">
+ <page string="Communication & History" groups="base.group_extended">
<group colspan="4">
- <field colspan="4" name="email_cc" string="CC"/>
+ <field colspan="4" name="email_cc" string="Global CC" widget="char" size="512"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="form,tree" height="280">
- <form string="Communication history">
- <group col="6" colspan="4">
- <field name="date"/>
- <field name="email_to"/>
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
+ <tree string="History">
+ <field name="display_text" string="History Information"/>
+ <field name="history" invisible="1"/>
+ <button
+ string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
+ name="%(crm.action_crm_send_mail)d"
+ context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
+ icon="terp-mail-replied" type="action" />
+ </tree>
+ <form string="History">
+ <group col="4" colspan="4">
<field name="email_from"/>
+ <field name="date"/>
+ <field name="email_to" size="512"/>
+ <field name="email_cc" size="512"/>
+ <field name="name" colspan="4"/>
+ <field name="history" invisible="1"/>
</group>
<notebook colspan="4">
<page string="Details">
- <field name="description" colspan="4" nolabel="1"/>
+ <group>
+ <field name="description" colspan="4" nolabel="1" height="250"/>
+ <button colspan="4"
+ string="Reply"
+ attrs="{'invisible': [('history', '!=', True)]}"
+ name="%(crm.action_crm_send_mail)d"
+ context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
+ icon="terp-mail-replied" type="action" />
+ </group>
</page>
<page string="Attachments">
<field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
</page>
</notebook>
- <button colspan="4"
- string="Reply to Last Email"
- name="%(crm.action_crm_send_mail)d"
- context="{'mail':'reply', 'model': 'crm.lead', 'include_original' : True}"
- icon="gtk-undo" type="action" />
</form>
- <tree string="Communication history">
- <field name="date"/>
- <field name="email_from" />
- <field name="email_to"/>
- <field name="description"/>
- </tree>
</field>
- <button colspan="2" string="Send New Email"
+ <button string="Add Internal Note"
+ name="%(crm.action_crm_add_note)d"
+ context="{'model': 'crm.lead' }"
+ icon="terp-document-new" type="action" />
+ <button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
- icon="gtk-go-forward" type="action" />
- <button colspan="2" string="Forward to Partner"
- name="%(crm_lead_forward_to_partner_act)d"
- icon="gtk-go-forward" type="action" />
+ icon="terp-mail-message-new" type="action" />
</page>
- <page string="History" groups="base.group_extended">
+ <page string="Extra Info" groups="base.group_extended">
<group col="2" colspan="2">
<separator string="Dates" colspan="2"/>
<field name="create_date"/>
<separator colspan="4" string="References"/>
<field name="ref"/>
<field name="ref2"/>
- <field name="log_ids" nolabel="1" colspan="4">
- <tree string="Logs">
- <field name="name" colspan="4"/>
- <field name="date"/>
- <field name="user_id"/>
- </tree>
- <form string="Logs">
- <separator string="Action Information" colspan="4"/>
- <field name="name" colspan="4"/>
- <field name="date"/>
- <field name="user_id"/>
- </form>
- </field>
</page>
</notebook>
</form>
<field name="model">crm.lead</field>
<field name="type">tree</field>
<field name="arch" type="xml">
- <tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done');red:date_deadline < current_date">
+ <tree string="Opportunities" colors="blue:state=='pending' and not(date_deadline and (date_deadline < current_date));gray:state in ('cancel', 'done');red:date_deadline and (date_deadline < current_date)">
<field name="date_deadline" invisible="1"/>
<field name="create_date"/>
<field name="name" string="Opportunity"/>
- <field name="partner_id"/>
+ <field name="partner_id" string="Customer"/>
+ <field name="country_id" invisible="context.get('invisible_country', True)" />
<field name="date_action"/>
+ <field name="title_action" />
<field name="stage_id"/>
- <button name="stage_previous" string="Previous"
+ <field name="channel_id" invisible="1"/>
+ <field name="type_id" invisible="1"/>
+ <button name="stage_previous" string="Previous Stage"
states="open,pending" type="object" icon="gtk-go-back" />
- <button name="stage_next" string="Next"
+ <button name="stage_next" string="Next Stage"
states="open,pending" type="object"
icon="gtk-go-forward" />
- <field name="planned_revenue" sum="Total of Planned Revenue"/>
+ <field name="planned_revenue" sum="Expected Revenues"/>
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
<field name="section_id"
invisible="context.get('invisible_section', True)" />
<field name="user_id"/>
+ <field name="priority" invisible="1"/>
+ <field name="categ_id" invisible="1"/>
<field name="state"/>
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
- <button name="case_close" string="Won"
- states="open,draft,pending" type="object"
- icon="gtk-apply" />
<button name="case_pending" string="Pending"
states="open,draft" type="object"
icon="gtk-media-pause" />
- <button name="case_cancel" string="Lost"
- states="draft,open,pending" type="object"
- icon="gtk-cancel" />
+ <button name="case_close" string="Won"
+ states="open,draft,pending" type="object"
+ icon="gtk-apply" />
</tree>
</field>
</record>
<field name="arch" type="xml">
<search string="Search Opportunities">
<filter icon="terp-check"
- string="Current"
+ string="Current" help="Draft and Open Opportunities"
name="current"
domain="[('state','in',('draft','open'))]"/>
<filter icon="terp-camera_test"
- string="Open"
+ string="Open" help="Open Opportunities"
domain="[('state','=','open')]"/>
<filter icon="terp-gtk-media-pause"
- string="Pending"
+ string="Pending" help="Pending Opportunities"
domain="[('state','=','pending')]"/>
<separator orientation="vertical"/>
- <filter icon="terp-go-today" string="Today"
- domain="[('create_date','<', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','>=', time.strftime('%%Y-%%m-%%d 23:59:59'))]"
- help="Todays' Opportunities" />
- <filter icon="terp-go-week" string="7 Days"
- help="Opportunities during last 7 days"
- domain="[('create_date','<', time.strftime('%%Y-%%m-%%d')),\
- ('create_date','>=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
- />
- <separator orientation="vertical"/>
<field name="name" string="Opportunity"/>
+ <field name="partner_id" string="Customer"/>
<field name="user_id">
<filter icon="terp-personal-"
domain="[('user_id','=', False)]"
help="Unassigned Opportunities" />
</field>
<field name="section_id"
- default="context.get('section_id', False)"
context="{'invisible_section': False}"
widget="selection">
- <filter icon="terp-personal+"
- domain="[('section_id.user_id','=',uid)]"
+ <filter icon="terp-personal+" groups="base.group_extended"
+ domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
context="{'invisible_section': False}"
- help="My Sale Team" />
- <filter icon="terp-personal+"
+ help="My Sales Team(s)" />
+ <filter icon="terp-personal+" groups="base.group_extended"
context="{'invisible_section': False}"
domain="[]"
help="Show Sales Team"/>
</field>
<newline/>
+ <group expand="0" string="Extended Filters..." groups="base.group_extended">
+ <field name="stage_id" widget="selection" domain="[('type', '=', 'opportunity')]"/>
+ <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <separator orientation="vertical"/>
+ <field name="country_id" context="{'invisible_country': False}">
+ <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
+ </field>
+ <separator orientation="vertical"/>
+ <field name="email_from"/>
+ <separator orientation="vertical"/>
+ <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <newline/>
+ <field name="create_date" string="Creation Date"/>
+ <field name="date_closed"/>
+ </group>
+ <newline/>
<group expand="0" string="Group By..." colspan="16">
+ <filter string="Salesman" icon="terp-personal"
+ domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
+ <separator orientation="vertical" />
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
<filter string="Priority" icon="terp-rating-rated" domain="[]"
context="{'group_by':'priority'}" />
<filter string="Category" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'categ_id'}" />
-
- <separator orientation="vertical" />
- <filter string="Salesman" icon="terp-personal"
- domain="[('user_id','=',uid)]" context="{'group_by':'user_id'}" />
+ <filter string="Campaign" icon="terp-gtk-jump-to-rtl"
+ domain="[]" context="{'group_by':'type_id'}" groups="base.group_extended"/>
+ <filter string="Channel" icon="terp-call-start"
+ domain="[]" context="{'group_by':'channel_id'}" />
+ <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical" />
<filter string="Creation" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" />
- <filter string="Exp.Closing" icon="terp-go-month"
- domain="[]" context="{'group_by':'date_deadline'}" />
+ <filter string="Exp.Closing"
+ icon="terp-go-month"
+ help="Expected Closing" domain="[]"
+ context="{'group_by':'date_deadline'}" />
</group>
</search>
</field>