[IMP]: Create one object of type,category,stage for all crm case objects

bzr revid: sbh@tinyerp.com-20100118100352-jdlv6dejcwh05tuc
This commit is contained in:
sbh (Open ERP) 2010-01-18 15:33:52 +05:30
parent 9a452d806a
commit 92b81da2e1
22 changed files with 267 additions and 338 deletions

View File

@ -101,6 +101,48 @@ class crm_case_section(osv.osv):
return res
crm_case_section()
class crm_case_categ(osv.osv):
_name = "crm.case.categ"
_description = "Category of case"
_columns = {
'name': fields.char('Case Category Name', size=64, required=True, translate=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'object_id': fields.many2one('ir.model','Object Name'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_case_categ()
class crm_case_resource_type(osv.osv):
_name = "crm.case.resource.type"
_description = "Resource Type of case"
_rec_name = "name"
_columns = {
'name': fields.char('Case Resource Type', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'object_id': fields.many2one('ir.model','Object Name'),
}
crm_case_resource_type()
class crm_case_stage(osv.osv):
_name = "crm.case.stage"
_description = "Stage of case"
_rec_name = 'name'
_order = "sequence"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
'object_id': fields.many2one('ir.model','Object Name'),
}
_defaults = {
'sequence': lambda *args: 1
}
crm_case_stage()
class crm_case_rule(osv.osv):

View File

@ -27,44 +27,7 @@ import netsvc
from tools.translate import _
import crm
class crm_claim_categ(osv.osv):
_name = "crm.claim.categ"
_description = "Claim Categories"
_columns = {
'name': fields.char('Category Name', size=64, required=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_claim_categ()
class crm_claim_type(osv.osv):
_name = "crm.claim.type"
_description = "Claim Type"
_rec_name = "name"
_columns = {
'name': fields.char('Claim Type Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
crm_claim_type()
class crm_claim_stage(osv.osv):
_name = "crm.claim.stage"
_description = "Stage of claim case"
_rec_name = 'name'
_order = "sequence"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
}
_defaults = {
'sequence': lambda *args: 1
}
crm_claim_stage()
class crm_claim(osv.osv):
_name = "crm.claim"
@ -82,14 +45,14 @@ class crm_claim(osv.osv):
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
"the partner mentality in relation to our services.The scale has" \
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),
'categ_id': fields.many2one('crm.claim.categ','Category', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.case.categ','Category', domain="[('section_id','=',section_id)]"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'type_id': fields.many2one('crm.claim.type', 'Claim Type', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.case.resource.type', 'Claim Type', domain="[('section_id','=',section_id)]"),
'partner_name': fields.char("Employee's Name", size=64),
'partner_mobile': fields.char('Mobile', size=32),
'partner_phone': fields.char('Phone', size=32),
'stage_id': fields.many2one ('crm.claim.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id)]"),
}
_defaults = {

View File

@ -5,53 +5,63 @@
<!--
Claims Categories
-->
<record model="crm.claim.categ" id="categ_claim1">
<record model="crm.case.categ" id="categ_claim1">
<field name="name">Factual Claims</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.categ" id="categ_claim2">
<record model="crm.case.categ" id="categ_claim2">
<field name="name">Value Claims</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.categ" id="categ_claim3">
<record model="crm.case.categ" id="categ_claim3">
<field name="name">Policy Claims</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<!--
Case Category2
-->
<record model="crm.claim.type" id="type_claim1">
<record model="crm.case.resource.type" id="type_claim1">
<field name="name">Corrective</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.type" id="type_claim2">
<record model="crm.case.resource.type" id="type_claim2">
<field name="name">Preventive</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<!--
Case Stage
-->
<record model="crm.claim.stage" id="stage_claim1">
<record model="crm.case.stage" id="stage_claim1">
<field name="name">Accepted as Claim</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.stage" id="stage_claim2">
<record model="crm.case.stage" id="stage_claim2">
<field name="name">Fixed</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.stage" id="stage_claim3">
<record model="crm.case.stage" id="stage_claim3">
<field name="name">Won't fix</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.stage" id="stage_claim4">
<record model="crm.case.stage" id="stage_claim4">
<field name="name">Invalid</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
<record model="crm.claim.stage" id="stage_claim5">
<record model="crm.case.stage" id="stage_claim5">
<field name="name">Awaiting Response</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.claim')]" model="ir.model"/>
</record>
</data>
</openerp>

View File

@ -9,34 +9,37 @@
<!-- Claim Categories -->
<record id="crm_claim_categ_view_form" model="ir.ui.view">
<field name="name">crm.claim.categ.form</field>
<field name="model">crm.claim.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Claim Category">
<field name="name" select="1"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.claim')]"/>
</form>
</field>
</record>
<record id="crm_claim_categ_view_tree" model="ir.ui.view">
<field name="name">crm.claim.categ.tree</field>
<field name="model">crm.claim.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Claim Category">
<field name="name"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.claim')]"/>
</tree>
</field>
</record>
<record id="crm_claim_categ_action" model="ir.actions.act_window">
<field name="name">Claim Categories</field>
<field name="res_model">crm.claim.categ</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_claim_categ_view_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
</record>
<menuitem action="crm_claim_categ_action" id="menu_crm_case_claim-act" parent="crm.menu_crm_case_categ"/>
# ------------------------------------------------------
@ -44,33 +47,36 @@
# ------------------------------------------------------
<record model="ir.ui.view" id="crm_claim_stage_tree">
<field name="name">crm.claim.stage.tree</field>
<field name="model">crm.claim.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.claim')]"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="crm_claim_stage_form">
<field name="name">crm.claim.stage.form</field>
<field name="model">crm.claim.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<field name="name" select="1"/>
<field name="section_id" select="1" widget="selection"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.claim')]"/>
<field name="sequence"/>
</form>
</field>
</record>
<record id="crm_claim_stage_act" model="ir.actions.act_window">
<field name="name">Claim Stages</field>
<field name="res_model">crm.claim.stage</field>
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_claim_stage_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
</record>
<menuitem action="crm_claim_stage_act" id="menu_crm_claim_stage_act" parent="crm.menu_crm_case_stage"/>

View File

@ -4,46 +4,54 @@
<!-- FUNDRAISING CATEGORY(categ_id) -->
<record model="crm.fundraising.categ" id="categ_fund1">
<record model="crm.case.categ" id="categ_fund1">
<field name="name">Social Rehabilitation And Rural Upliftment</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.fundraising.categ" id="categ_fund2">
<record model="crm.case.categ" id="categ_fund2">
<field name="name">Learning And Education</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.fundraising.categ" id="categ_fund3">
<record model="crm.case.categ" id="categ_fund3">
<field name="name">Healthcare</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.fundraising.categ" id="categ_fund4">
<record model="crm.case.categ" id="categ_fund4">
<field name="name">Arts And Culture</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<!-- CASE CATEGORY2(category2_id) -->
<!-- CASE Resource(type_id) -->
<record model="crm.fundraising.type" id="type_fund1">
<record model="crm.case.resource.type" id="type_fund1">
<field name="name">Cash</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.fundraising.type" id="type_fund2">
<record model="crm.case.resource.type" id="type_fund2">
<field name="name">Cheque</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.fundraising.type" id="type_fund3">
<record model="crm.case.resource.type" id="type_fund3">
<field name="name">Credit Card</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.fundraising.type" id="type_fund4">
<record model="crm.case.resource.type" id="type_fund4">
<field name="name">Demand Draft</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
</data>

View File

@ -7,34 +7,36 @@
# ------------------------------------------------------
<record id="crm_fund_categ_view_form" model="ir.ui.view">
<field name="name">crm.fundraising.categ.form</field>
<field name="model">crm.fundraising.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Fundraising Category">
<field name="name" select="1"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.fundraising')]"/>
</form>
</field>
</record>
<record id="crm_fund_categ_view_tree" model="ir.ui.view">
<field name="name">crm.fundraising.categ.tree</field>
<field name="model">crm.fundraising.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Fundraising Category">
<field name="name"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.fundraising')]"/>
</tree>
</field>
</record>
<record id="crm_fund_categ_action" model="ir.actions.act_window">
<field name="name">Fundraising Categories</field>
<field name="res_model">crm.fundraising.categ</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_fund_categ_view_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.fundraising')]</field>
</record>
<menuitem action="crm_fund_categ_action" id="menu_crm_case_fundraising-act" parent="crm.menu_crm_case_categ"/>
# ------------------------------------------------------
@ -42,33 +44,36 @@
# ------------------------------------------------------
<record model="ir.ui.view" id="crm_fundraising_stage_tree">
<field name="name">crm.fundraising.stage.tree</field>
<field name="model">crm.fundraising.stage</field>
<field name="model">crm.case.resourcestage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.fundraising')]"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="crm_fundraising_stage_form">
<field name="name">crm.fundraising.stage.form</field>
<field name="model">crm.fundraising.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<field name="name" select="1"/>
<field name="section_id" select="1" widget="selection"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.fundraising')]"/>
<field name="sequence"/>
</form>
</field>
</record>
<record id="crm_fundraising_stage_act" model="ir.actions.act_window">
<field name="name">Fundraising Stages</field>
<field name="res_model">crm.claim.stage</field>
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_fundraising_stage_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.fundraising')]</field>
</record>
<menuitem action="crm_fundraising_stage_act" id="menu_crm_fundraising_stage_act" parent="crm.menu_crm_case_stage"/>

View File

@ -34,44 +34,6 @@ from osv.orm import except_orm
import crm
class crm_fundraising_categ(osv.osv):
_name = "crm.fundraising.categ"
_description = "Fundraising Categories"
_columns = {
'name': fields.char('Category Name', size=64, required=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_fundraising_categ()
class crm_fundraising_type(osv.osv):
_name = "crm.fundraising.type"
_description = "Fundraising Type"
_rec_name = "name"
_columns = {
'name': fields.char('Fundraising Type Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
crm_fundraising_type()
class crm_fundraising_stage(osv.osv):
_name = "crm.fundraising.stage"
_description = "Stage of fundraising case"
_rec_name = 'name'
_order = "sequence"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
}
_defaults = {
'sequence': lambda *args: 1
}
crm_fundraising_stage()
class crm_fundraising(osv.osv):
@ -82,7 +44,7 @@ class crm_fundraising(osv.osv):
_columns = {
'date_closed': fields.datetime('Closed', readonly=True),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'categ_id': fields.many2one('crm.fundraising.categ','Category', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.case.categ','Category', domain="[('section_id','=',section_id)]"),
'planned_revenue': fields.float('Planned Revenue'),
'planned_cost': fields.float('Planned Costs'),
'probability': fields.float('Probability (%)'),
@ -90,8 +52,8 @@ class crm_fundraising(osv.osv):
'partner_name2': fields.char('Employee Email', size=64),
'partner_phone': fields.char('Phone', size=32),
'partner_mobile': fields.char('Mobile', size=32),
'stage_id': fields.many2one ('crm.fundraising.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.fundraising.type', 'Fundraising Type', domain="[('section_id','=',section_id)]"),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.case.resource.type', 'Fundraising Type', domain="[('section_id','=',section_id)]"),
'duration': fields.float('Duration'),
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
@ -108,7 +70,7 @@ class crm_fundraising(osv.osv):
def onchange_categ_id(self, cr, uid, ids, categ, context={}):
if not categ:
return {'value':{}}
cat = self.pool.get('crm.fundraising.categ').browse(cr, uid, categ, context).probability
cat = self.pool.get('crm.case.categ').browse(cr, uid, categ, context).probability
return {'value':{'probability':cat}}

View File

@ -34,18 +34,7 @@ from osv.orm import except_orm
import crm
class crm_helpdesk_categ(osv.osv):
_name = "crm.helpdesk.categ"
_description = "Helpdesk Categories"
_columns = {
'name': fields.char('Category Name', size=64, required=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_helpdesk_categ()
class crm_helpdesk(osv.osv):
_name = "crm.helpdesk"
@ -65,7 +54,7 @@ class crm_helpdesk(osv.osv):
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
"the partner mentality in relation to our services.The scale has" \
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),
'categ_id': fields.many2one('crm.helpdesk.categ', 'Category', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id)]"),
'duration': fields.float('Duration'),
}
def onchange_categ_id(self, cr, uid, ids, categ, context={}):

View File

@ -7,25 +7,27 @@
# ------------------------------------------------------
<record id="crm_helpdesk_categ_view_form" model="ir.ui.view">
<field name="name">crm.helpdesk.categ.form</field>
<field name="model">crm.helpdesk.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Helpdesk Category">
<field name="name" select="1"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.helpdesk')]"/>
</form>
</field>
</record>
<record id="crm_helpdesk_categ_view_tree" model="ir.ui.view">
<field name="name">crm.helpdesk.categ.tree</field>
<field name="model">crm.helpdesk.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Helpdesk Category">
<field name="name"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.helpdesk')]"/>
</tree>
</field>
</record>
@ -35,6 +37,7 @@
<field name="res_model">crm.helpdesk.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_helpdesk_categ_view_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.helpdesk')]</field>
</record>
<menuitem action="crm_helpdesk_categ_action" id="menu_crm_case_helpdesk-act" parent="crm.menu_crm_case_categ"/>
# ------------------------------------------------------

View File

@ -34,43 +34,7 @@ from osv.orm import except_orm
import crm
class crm_lead_categ(osv.osv):
_name = "crm.lead.categ"
_description = "Lead Categories"
_columns = {
'name': fields.char('Category Name', size=64, required=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_lead_categ()
class crm_lead_type(osv.osv):
_name = "crm.lead.type"
_description = "Lead Type"
_rec_name = "name"
_columns = {
'name': fields.char('lead Type Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
crm_lead_type()
class crm_lead_stage(osv.osv):
_name = "crm.lead.stage"
_description = "Stage of claim case"
_rec_name = 'name'
_order = "sequence"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
}
_defaults = {
'sequence': lambda *args: 1
}
crm_lead_stage()
class crm_opportunity(osv.osv):
_name = "crm.opportunity"
crm_opportunity()
@ -81,8 +45,8 @@ class crm_lead(osv.osv):
_order = "id desc"
_inherit = 'crm.case'
_columns = {
'categ_id': fields.many2one('crm.lead.categ', 'Category', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.lead.type', 'Lead Type Name', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.case.resource.type', 'Lead Type Name', domain="[('section_id','=',section_id)]"),
'partner_name': fields.char("Employee's Name", size=64),
'partner_name2': fields.char('Employee Email', size=64),
'partner_phone': fields.char('Phone', size=32),
@ -96,7 +60,7 @@ class crm_lead(osv.osv):
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
'planned_revenue': fields.float('Planned Revenue'),
'planned_cost': fields.float('Planned Costs'),
'stage_id': fields.many2one ('crm.lead.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
"the partner mentality in relation to our services.The scale has" \
"to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."),

View File

@ -2,93 +2,114 @@
<openerp>
<data noupdate="1">
<record model="crm.lead.categ" id="categ_lead1">
<record model="crm.case.categ" id="categ_lead1">
<field name="name">Existing Customer</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.categ" id="categ_lead2">
<record model="crm.case.categ" id="categ_lead2">
<field name="name">Self Generated</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.categ" id="categ_lead3">
<record model="crm.case.categ" id="categ_lead3">
<field name="name">Employee</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.categ" id="categ_lead4">
<record model="crm.case.categ" id="categ_lead4">
<field name="name">Partner</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.categ" id="categ_lead6">
<record model="crm.case.categ" id="categ_lead6">
<field name="name">Website</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.categ" id="categ_lead7">
<record model="crm.case.categ" id="categ_lead7">
<field name="name">Word of mouth</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.categ" id="categ_lead8">
<record model="crm.case.categ" id="categ_lead8">
<field name="name">Other</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<!-- CASE STATUS(stage_id) -->
<record model="crm.lead.stage" id="stage_lead1">
<record model="crm.case.stage" id="stage_lead1">
<field name="name">New</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.stage" id="stage_lead2">
<record model="crm.case.stage" id="stage_lead2">
<field name="name">Assigned</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.stage" id="stage_lead3">
<record model="crm.case.stage" id="stage_lead3">
<field name="name">In Process</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.stage" id="stage_lead4">
<record model="crm.case.stage" id="stage_lead4">
<field name="name">Converted</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.stage" id="stage_lead5">
<record model="crm.case.stage" id="stage_lead5">
<field name="name">Recycled</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.stage" id="stage_lead6">
<record model="crm.case.stage" id="stage_lead6">
<field name="name">Dead</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<!-- CASE CATEGORY2(category2_id) -->
<record model="crm.lead.type" id="type_lead1">
<record model="crm.case.resource.type" id="type_lead1">
<field name="name">Telesales</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead2">
<record model="crm.case.resource.type" id="type_lead2">
<field name="name">Mail</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead3">
<record model="crm.case.resource.type" id="type_lead3">
<field name="name">Email</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead4">
<record model="crm.case.resource.type" id="type_lead4">
<field name="name">Print</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead5">
<record model="crm.case.resource.type" id="type_lead5">
<field name="name">Web</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead6">
<record model="crm.case.resource.type" id="type_lead6">
<field name="name">Radio</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead7">
<record model="crm.case.resource.type" id="type_lead7">
<field name="name">Television</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.lead.type" id="type_lead8">
<record model="crm.case.resource.type" id="type_lead8">
<field name="name">Newsletter</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
</data>

View File

@ -8,34 +8,37 @@
<record id="crm_lead_categ_view_form" model="ir.ui.view">
<field name="name">crm.lead.categ.form</field>
<field name="model">crm.lead.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Lead Category">
<field name="name" select="1"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.lead')]"/>
</form>
</field>
</record>
<record id="crm_lead_categ_view_tree" model="ir.ui.view">
<field name="name">crm.lead.categ.tree</field>
<field name="model">crm.lead.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Lead Category">
<field name="name"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.lead')]"/>
</tree>
</field>
</record>
<record id="crm_lead_categ_action" model="ir.actions.act_window">
<field name="name">Lead Categories</field>
<field name="res_model">crm.lead.categ</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_lead_categ_view_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
</record>
<menuitem action="crm_lead_categ_action" id="menu_crm_case_lead-act" parent="crm.menu_crm_case_categ"/>
@ -44,33 +47,36 @@
# ------------------------------------------------------
<record model="ir.ui.view" id="crm_lead_stage_tree">
<field name="name">crm.lead.stage.tree</field>
<field name="model">crm.lead.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.lead')]"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="crm_lead_stage_form">
<field name="name">crm.lead.stage.form</field>
<field name="model">crm.lead.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<field name="name" select="1"/>
<field name="section_id" select="1" widget="selection"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.lead')]"/>
<field name="sequence"/>
</form>
</field>
</record>
<record id="crm_lead_stage_act" model="ir.actions.act_window">
<field name="name">Lead Stages</field>
<field name="res_model">crm.claim.stage</field>
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_lead_stage_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
</record>
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" parent="crm.menu_crm_case_stage"/>
# ------------------------------------------------------

View File

@ -29,19 +29,6 @@ import re
import time
import tools
class crm_meeting_categ(osv.osv):
_name = "crm.meeting.categ"
_description = "Category of Meetings"
_columns = {
'name': fields.char('Meeting Category Name', size=64, required=True, \
translate=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_meeting_categ()
class crm_meeting(osv.osv):
_name = 'crm.meeting'
@ -127,7 +114,7 @@ account for mail gateway.'),
'date_deadline': fields.datetime('Deadline'),
'duration': fields.function(_get_duration, method=True, \
fnct_inv=_set_duration, string='Duration'),
'categ_id': fields.many2one('crm.meeting.categ', 'Category', \
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="[('section_id','=',section_id)]", \
help='Category related to the section.Subdivide the CRM cases \
independently or section-wise.'),
@ -382,24 +369,6 @@ rule or repeating pattern for anexception to a recurrence set"),
alarm_obj.do_alarm_create(cr, uid, [res], self._name, 'date')
return res
def msg_new(self, cr, uid, msg):
mailgate_obj = self.pool.get('mail.gateway')
msg_body = mailgate_obj.msg_body_get(msg)
data = {
'name': msg['Subject'],
'email_from': msg['From'],
'email_cc': msg['Cc'],
'user_id': False,
'description': msg_body['body'],
'history_line': [(0, 0, {'description': msg_body['body'], 'email': msg['From'] })],
}
res = mailgate_obj.partner_get(cr, uid, msg['From'])
if res:
data.update(res)
res = self.create(cr, uid, data)
return res
crm_meeting()
class res_users(osv.osv):

View File

@ -4,22 +4,26 @@
<!-- CASE CATEGORY(categ_id) -->
<record model="crm.meeting.categ" id="categ_meet1">
<record model="crm.case.categ" id="categ_meet1">
<field name="name">Customer Meeting</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.meeting.categ" id="categ_meet2">
<record model="crm.case.categ" id="categ_meet2">
<field name="name">Internal Meeting</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.fundraising')]" model="ir.model"/>
</record>
<record model="crm.meeting.categ" id="categ_meet3">
<record model="crm.case.categ" id="categ_meet3">
<field name="name">Phone Call</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
</record>
<record model="res.request.link" id="request_link_meeting">
<field name="name">Case Meeting</field>
<field name="object">crm.meeting</field>
</record>
</data>

View File

@ -34,43 +34,6 @@ from osv.orm import except_orm
import crm
class crm_opportunity_categ(osv.osv):
_name = "crm.opportunity.categ"
_description = "Opportunity Categories"
_columns = {
'name': fields.char('Category Name', size=64, required=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_opportunity_categ()
class crm_opportunity_type(osv.osv):
_name = "crm.opportunity.type"
_description = "Opportunity Type"
_rec_name = "name"
_columns = {
'name': fields.char('lead Type Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
crm_opportunity_type()
class crm_opportunity_stage(osv.osv):
_name = "crm.opportunity.stage"
_description = "Stage of opportunity case"
_rec_name = 'name'
_order = "sequence"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
}
_defaults = {
'sequence': lambda *args: 1
}
crm_opportunity_stage()
class crm_opportunity(osv.osv):
_name = "crm.opportunity"
@ -78,9 +41,9 @@ class crm_opportunity(osv.osv):
_order = "id desc"
_inherit = 'crm.case'
_columns = {
'stage_id': fields.many2one ('crm.opportunity.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.opportunity.categ', 'Category', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.opportunity.type', 'Opportunity Type', domain="[('section_id','=',section_id)]"),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id)]"),
'type_id': fields.many2one('crm.case.resource.type', 'Resource Type', domain="[('section_id','=',section_id)]"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'probability': fields.float('Probability (%)'),
'planned_revenue': fields.float('Planned Revenue'),

View File

@ -1,77 +1,94 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record model="crm.opportunity.categ" id="categ_oppor1">
<record model="crm.case.categ" id="categ_oppor1">
<field name="name">Existing Customer</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor2">
<record model="crm.case.categ" id="categ_oppor2">
<field name="name">Self Generated</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor3">
<record model="crm.case.categ" id="categ_oppor3">
<field name="name">Employee</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor4">
<record model="crm.case.categ" id="categ_oppor4">
<field name="name">Partner</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor5">
<record model="crm.case.categ" id="categ_oppor5">
<field name="name">Campaign</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor6">
<record model="crm.case.categ" id="categ_oppor6">
<field name="name">Website</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor7">
<record model="crm.case.categ" id="categ_oppor7">
<field name="name">Word of mouth</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.categ" id="categ_oppor8">
<record model="crm.case.categ" id="categ_oppor8">
<field name="name">Other</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<!-- CASE STATUS(stage_id) -->
<record model="crm.opportunity.stage" id="stage_oppor1">
<record model="crm.case.stage" id="stage_oppor1">
<field name="name">Prospecting</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.stage" id="stage_oppor2">
<record model="crm.case.stage" id="stage_oppor2">
<field name="name">Needs Analysis</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.stage" id="stage_oppor3">
<record model="crm.case.stage" id="stage_oppor3">
<field name="name">Value Proposition</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.stage" id="stage_oppor4">
<record model="crm.case.stage" id="stage_oppor4">
<field name="name">Proposal/Price Quote</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.stage" id="stage_oppor5">
<record model="crm.case.stage" id="stage_oppor5">
<field name="name">Negotiation/Review</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.stage" id="stage_oppor6">
<record model="crm.case.stage" id="stage_oppor6">
<field name="name">Closed Won</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.stage" id="stage_oppor7">
<record model="crm.case.stage" id="stage_oppor7">
<field name="name">Closed Lost</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<!-- CASE CATEGORY2(category2_id) -->
<record model="crm.opportunity.type" id="type_oppor1">
<!-- Case Resource(type_id) -->
<record model="crm.case.resource.type" id="type_oppor1">
<field name="name">Existing Business</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
<record model="crm.opportunity.type" id="type_oppor2">
<record model="crm.case.resource.type" id="type_oppor2">
<field name="name">New Business</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.opportunity')]" model="ir.model"/>
</record>
</data>

View File

@ -8,34 +8,37 @@
<record id="crm_opportunity_categ_view_form" model="ir.ui.view">
<field name="name">crm.opportunity.categ.form</field>
<field name="model">crm.opportunity.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Opportunity Category">
<field name="name" select="1"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.opportunity')]"/>
</form>
</field>
</record>
<record id="crm_opportunity_categ_view_tree" model="ir.ui.view">
<field name="name">crm.opportunity.categ.tree</field>
<field name="model">crm.opportunity.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Opportunity Category">
<field name="name"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.opportunity')]"/>
</tree>
</field>
</record>
<record id="crm_opportunity_categ_action" model="ir.actions.act_window">
<field name="name">Opportunity Categories</field>
<field name="res_model">crm.opportunity.categ</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_opportunity_categ_view_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
</record>
<menuitem action="crm_opportunity_categ_action" id="menu_crm_case_opportunity-act" parent="crm.menu_crm_case_categ"/>
# ------------------------------------------------------
@ -43,25 +46,27 @@
# ------------------------------------------------------
<record model="ir.ui.view" id="crm_opportunity_stage_tree">
<field name="name">crm.opportunity.stage.tree</field>
<field name="model">crm.opportunity.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.opportunity')]"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_stage_form">
<field name="name">crm.opportunity.stage.form</field>
<field name="model">crm.opportunity.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<field name="name" select="1"/>
<field name="section_id" select="1" widget="selection"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.opportunity')]"/>
<field name="sequence"/>
</form>
</field>
@ -69,9 +74,10 @@
<record id="crm_opportunity_stage_act" model="ir.actions.act_window">
<field name="name">Opportunity Stages</field>
<field name="res_model">crm.claim.stage</field>
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_opportunity_stage_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
</record>
<menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage"/>
# ------------------------------------------------------

View File

@ -32,33 +32,6 @@ from tools.translate import _
import crm
class crm_phonecall_categ(osv.osv):
_name = "crm.phonecall.categ"
_description = "Phonecall Categories"
_columns = {
'name': fields.char('Category Name', size=64, required=True),
'probability': fields.float('Probability (%)', required=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
}
_defaults = {
'probability': lambda *args: 0.0
}
crm_phonecall_categ()
class crm_phonecall_stage(osv.osv):
_name = "crm.phonecall.stage"
_description = "Stage of phonecal case"
_rec_name = 'name'
_order = "sequence"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'section_id': fields.many2one('crm.case.section', 'Case Section'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case stages."),
}
_defaults = {
'sequence': lambda *args: 1
}
crm_phonecall_stage()
class crm_phonecall(osv.osv):
_name = "crm.phonecall"
@ -67,7 +40,7 @@ class crm_phonecall(osv.osv):
_inherit = 'crm.case'
_columns = {
'duration': fields.float('Duration'),
'categ_id': fields.many2one('crm.phonecall.categ', 'Category', domain="[('section_id','=',section_id)]"),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id)]"),
'partner_phone': fields.char('Phone', size=32),
'partner_mobile': fields.char('Mobile', size=32),
'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \
@ -81,6 +54,12 @@ class crm_phonecall(osv.osv):
'date_closed': fields.datetime('Closed', readonly=True),
'opportunity_id':fields.many2one ('crm.opportunity', 'Opportunity'),
}
def onchange_categ_id(self, cr, uid, ids, categ, context={}):
if not categ:
return {'value':{}}
cat = self.pool.get('crm.case.categ').browse(cr, uid, categ, context).probability
return {'value':{'probability':cat}}
crm_phonecall()

View File

@ -6,29 +6,35 @@
<!--
Phonecall Categories
-->
<record model="crm.phonecall.categ" id="categ_phone1">
<record model="crm.case.categ" id="categ_phone1">
<field name="name">Inbound</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
</record>
<record model="crm.phonecall.categ" id="categ_phone2">
<record model="crm.case.categ" id="categ_phone2">
<field name="name">Outbound</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
</record>
<!--
Case Stage
-->
<record model="crm.phonecall.stage" id="stage_phone1">
<record model="crm.case.stage" id="stage_phone1">
<field name="name">Planned</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
</record>
<record model="crm.phonecall.stage" id="stage_phone2">
<record model="crm.case.stage" id="stage_phone2">
<field name="name">Held</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
</record>
<record model="crm.phonecall.stage" id="stage_phone3">
<record model="crm.case.stage" id="stage_phone3">
<field name="name">Not Held</field>
<field name="section_id" ref="section_sales_department"/>
<field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
</record>
</data>
</openerp>

View File

@ -8,34 +8,37 @@
<record id="crm_phonecall_categ_view_form" model="ir.ui.view">
<field name="name">crm.phonecall.categ.form</field>
<field name="model">crm.phonecall.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Phonecall Category">
<field name="name" select="1"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.phonecall')]"/>
</form>
</field>
</record>
<record id="crm_phonecall_categ_view_tree" model="ir.ui.view">
<field name="name">crm.phonecall.categ.tree</field>
<field name="model">crm.phonecall.categ</field>
<field name="model">crm.case.categ</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Phonecall Category">
<field name="name"/>
<field name="probability"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.phonecall')]"/>
</tree>
</field>
</record>
<record id="crm_phonecall_categ_action" model="ir.actions.act_window">
<field name="name">Phonecall Categories</field>
<field name="res_model">crm.phonecall.categ</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_phonecall_categ_view_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
</record>
<menuitem action="crm_phonecall_categ_action" id="menu_crm_case_phonecall-act" parent="crm.menu_crm_case_categ"/>
@ -44,33 +47,36 @@
# ------------------------------------------------------
<record model="ir.ui.view" id="crm_phonecall_stage_tree">
<field name="name">crm.phonecall.stage.tree</field>
<field name="model">crm.phonecall.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
<field name="section_id"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.phonecall')]"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="crm_phonecall_stage_form">
<field name="name">crm.phonecall.stage.form</field>
<field name="model">crm.phonecall.stage</field>
<field name="model">crm.case.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<field name="name" select="1"/>
<field name="section_id" select="1" widget="selection"/>
<field name="object_id" domain="[('object_id.model','ilike','crm.phonecall')]"/>
<field name="sequence"/>
</form>
</field>
</record>
<record id="crm_phonecall_stage_act" model="ir.actions.act_window">
<field name="name">Phonecall Stages</field>
<field name="res_model">crm.phonecall.stage</field>
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_phonecall_stage_tree"/>
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
</record>
<menuitem action="crm_phonecall_stage_act" id="menu_crm_phonecall_stage_act" parent="crm.menu_crm_case_stage"/>

View File

@ -47,8 +47,8 @@
<field name="view_type">form</field>
<field name="view_id" ref="crm_case_section_view_tree"/>
</record>
<menuitem id="menu_crm_case_stage" name="Stages" parent="crm.menu_crm_configuration"/>
<menuitem id="menu_crm_case_categ" name="Categories" parent="crm.menu_crm_configuration"/>
<menuitem id="menu_crm_case_stage" name="Stages" parent="crm.menu_crm_configuration"/>
<menuitem id="menu_crm_case_categ" name="Categories" parent="crm.menu_crm_configuration"/>
<menuitem action="crm_case_section_act" id="menu_crm_case_section_act" parent="crm.menu_crm_configuration"/>

View File

@ -48,13 +48,13 @@ class opportunity2phonecall(wizard.interface):
'user_id' : {'string' : 'Assign To', 'type' : 'many2one', 'relation' : 'res.users'},
'deadline' : {'string' : 'Planned Date', 'type' : 'datetime'},
'note' : {'string' : 'Goals', 'type' : 'text'},
'category_id' : {'string' : 'Category', 'type' : 'many2one', 'relation' : 'crm.phonecall.categ', 'required' :True},
'category_id' : {'string' : 'Category', 'type' : 'many2one', 'relation' : 'crm.case.categ', 'required' :True},
'section_id' : {'string' : 'Section', 'type' : 'many2one', 'relation' : 'crm.case.section'},
}
def _default_values(self, cr, uid, data, context):
case_obj = pooler.get_pool(cr.dbname).get('crm.opportunity')
categ_id = pooler.get_pool(cr.dbname).get('crm.phonecall.categ').search(cr, uid, [('name','=','Outbound')])
categ_id = pooler.get_pool(cr.dbname).get('crm.case.categ').search(cr, uid, [('name','=','Outbound')])
case = case_obj.browse(cr, uid, data['id'])
return {
'user_id' : case.user_id and case.user_id.id,
@ -203,7 +203,7 @@ class partner_opportunity(wizard.interface):
address = part_obj.address_get(cr, uid, data['ids' ])
categ_obj = pool.get('crm.opportunity.categ')
categ_obj = pool.get('crm.case.categ')
categ_ids = categ_obj.search(cr, uid, [('name','ilike','Part%')])
case_obj = pool.get('crm.opportunity')