[IMP] res.partner.canal into crm.case.channel

bzr revid: al@openerp.com-20110827233130-end57de3i484r0kb
This commit is contained in:
Antony Lesuisse 2011-08-28 01:31:30 +02:00
parent 2292e346cb
commit e83ea8f54c
20 changed files with 74 additions and 40 deletions

View File

@ -44,6 +44,18 @@ AVAILABLE_PRIORITIES = [
('5', 'Lowest'),
]
class crm_case_channel(osv.osv):
_name = "crm.case.channel"
_description = "Channels"
_order = 'name'
_columns = {
'name': fields.char('Channel Name', size=64, required=True),
'active': fields.boolean('Active'),
}
_defaults = {
'active': lambda *a: 1,
}
class crm_case_stage(osv.osv):
""" Stage of case """

View File

@ -1,6 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record model="crm.case.channel">
<field name="name">website</field>
</record>
<record model="crm.case.channel">
<field name="name">phone</field>
</record>
<record model="crm.case.channel">
<field name="name">direct</field>
</record>
<record model="crm.case.channel">
<field name="name">e-mail</field>
</record>
<record model="crm.case.section" id="section_sales_department">
<field name="name">Sales Department</field>
<field name="code">Sales</field>

View File

@ -142,7 +142,7 @@ class crm_lead(crm_case, osv.osv):
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"),
'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \
domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"),
'channel_id': fields.many2one('res.partner.canal', 'Channel', help="From which channel (mail, direct, phone, ...) did this contact reach you?"),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel (mail, direct, phone, ...)"),
'contact_name': fields.char('Contact Name', size=64),
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity', select=1),
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),

View File

@ -71,11 +71,6 @@ class crm_phonecall(crm_base, osv.osv):
type="char", string="Contact", size=128),
'partner_mobile': fields.char('Mobile', size=32),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'canal_id': fields.many2one('res.partner.canal', 'Channel', \
help="The channels represent the different communication\
modes available with the customer." \
" With each commercial opportunity, you can indicate\
the canall which is this opportunity source."),
'date_closed': fields.datetime('Closed', readonly=True),
'date': fields.datetime('Date'),
'opportunity_id': fields.many2one ('crm.lead', 'Lead/Opportunity'),

View File

@ -7,7 +7,7 @@
<menuitem id="base.menu_crm_config_lead" name="Leads &amp; Opportunities"
parent="base.menu_base_config" sequence="1" groups="base.group_sale_manager"/>
<menuitem id="base.menu_crm_config_opportunity" name="Opportunities"
parent="base.menu_base_config" sequence="1" groups="base.group_sale_manager"/>
@ -21,6 +21,39 @@
parent="base.menu_base_partner" sequence="11" />
<!-- crm.case.channel -->
<record id="crm_case_channel_view_tree" model="ir.ui.view">
<field name="name">crm.case.channel.tree</field>
<field name="model">crm.case.channel</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Channels">
<field name="name" select="1"/>
<field name="active" select="1"/>
</tree>
</field>
</record>
<record id="crm_case_channel_view_form" model="ir.ui.view">
<field name="name">crm.case.channel.form</field>
<field name="model">crm.case.channel</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Channel">
<field name="name" select="1"/>
<field name="active" select="1"/>
</form>
</field>
</record>
<record id="crm_case_channel_action" model="ir.actions.act_window">
<field name="name">Channels</field>
<field name="res_model">crm.case.channel</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Track from where is coming your leads and opportunities by creating specific channels that will be maintained at the creation of a document in the system. Some examples of channels can be: Website, Phone Call, Reseller, etc.</field>
</record>
<menuitem action="crm_case_channel_action" id="menu_crm_case_channel" parent="base.menu_crm_config_lead" sequence="4"/>
<!-- Case Sections Form View -->
<record id="crm_case_section_view_form" model="ir.ui.view">

View File

@ -57,7 +57,7 @@ class crm_lead_report(osv.osv):
'user_id':fields.many2one('res.users', 'User', readonly=True),
'country_id':fields.many2one('res.country', 'Country', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Sales Team', readonly=True),
'channel_id':fields.many2one('res.partner.canal', 'Channel', readonly=True),
'channel_id':fields.many2one('crm.case.channel', 'Channel', readonly=True),
'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'creation_month':fields.selection(MONTHS, 'Creation Date', readonly=True),

View File

@ -3,6 +3,8 @@
"access_crm_segmentation_line_user","crm.segmentation.line user","model_crm_segmentation_line","base.group_sale_salesman",1,0,0,0
"access_crm_segmentation","crm.segmentation","model_crm_segmentation","base.group_sale_manager",1,1,1,1
"access_crm_segmentation_line","crm.segmentation.line","model_crm_segmentation_line","base.group_sale_manager",1,1,1,1
"access_crm_case_channel_user","crm.case.channel user","model_crm_case_channel","base.group_sale_salesman",1,0,0,0
"access_crm_case_channel_manager","crm.case.channel manager","model_crm_case_channel","base.group_sale_manager",1,1,1,1
"access_crm_case_section","crm.case.section","model_crm_case_section","base.group_sale_salesman",1,1,1,0
"access_crm_case_categ","crm.case.categ","model_crm_case_categ","base.group_sale_salesman",1,1,1,0
"access_crm_meeting_manager","crm.meeting.manager","model_crm_meeting","base.group_sale_manager",1,1,1,1
@ -41,7 +43,6 @@
"access_crm_lead_report_user","crm.lead.report user","model_crm_lead_report","base.group_sale_salesman",1,1,1,1
"access_res_partner_bank_type_crm_user","res.partner.bank.type.crm.user","base.model_res_partner_bank_type","base.group_sale_salesman",1,0,0,0
"access_res_partner_bank_type_crm_manager","res.partner.bank.type.crm.manager","base.model_res_partner_bank_type","base.group_sale_manager",1,0,0,0
"access_res_partner_canal_manager","res.partner.canal.manager","base.model_res_partner_canal","base.group_sale_manager",1,1,1,1
"access_crm_lead_partner_manager","crm.lead.partner.manager","model_crm_lead","base.group_partner_manager",1,1,1,1
"access_crm_phonecall_partner_manager","crm.phonecall.partner.manager","model_crm_phonecall","base.group_partner_manager",1,1,1,1
"access_crm_meeting_partner_manager","crm.meeting.partner.manager","model_crm_meeting","base.group_partner_manager",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
3 access_crm_segmentation_line_user crm.segmentation.line user model_crm_segmentation_line base.group_sale_salesman 1 0 0 0
4 access_crm_segmentation crm.segmentation model_crm_segmentation base.group_sale_manager 1 1 1 1
5 access_crm_segmentation_line crm.segmentation.line model_crm_segmentation_line base.group_sale_manager 1 1 1 1
6 access_crm_case_channel_user crm.case.channel user model_crm_case_channel base.group_sale_salesman 1 0 0 0
7 access_crm_case_channel_manager crm.case.channel manager model_crm_case_channel base.group_sale_manager 1 1 1 1
8 access_crm_case_section crm.case.section model_crm_case_section base.group_sale_salesman 1 1 1 0
9 access_crm_case_categ crm.case.categ model_crm_case_categ base.group_sale_salesman 1 1 1 0
10 access_crm_meeting_manager crm.meeting.manager model_crm_meeting base.group_sale_manager 1 1 1 1
43 access_crm_lead_report_user crm.lead.report user model_crm_lead_report base.group_sale_salesman 1 1 1 1
44 access_res_partner_bank_type_crm_user res.partner.bank.type.crm.user base.model_res_partner_bank_type base.group_sale_salesman 1 0 0 0
45 access_res_partner_bank_type_crm_manager res.partner.bank.type.crm.manager base.model_res_partner_bank_type base.group_sale_manager 1 0 0 0
access_res_partner_canal_manager res.partner.canal.manager base.model_res_partner_canal base.group_sale_manager 1 1 1 1
46 access_crm_lead_partner_manager crm.lead.partner.manager model_crm_lead base.group_partner_manager 1 1 1 1
47 access_crm_phonecall_partner_manager crm.phonecall.partner.manager model_crm_phonecall base.group_partner_manager 1 1 1 1
48 access_crm_meeting_partner_manager crm.meeting.partner.manager model_crm_meeting base.group_partner_manager 1 1 1 1

View File

@ -67,9 +67,6 @@ class crm_fundraising(crm.crm_case, osv.osv):
'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),
'canal_id': fields.many2one('res.partner.canal', 'Channel', \
help="The channels represent the different communication \
modes available with the customer."),
'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\

View File

@ -190,7 +190,6 @@
<field name="active"/>
<field name="id" select="1"/>
<field name="priority" string="Priority"/>
<field name="canal_id"/>
</group>
<group col="2" colspan="2">
<separator colspan="4" string="Dates"/>

View File

@ -63,9 +63,7 @@ class crm_helpdesk(crm.crm_case, osv.osv):
'date': fields.datetime('Date'),
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
'canal_id': fields.many2one('res.partner.canal', 'Channel', \
help="The channels represent the different communication \
modes available with the customer."),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
'planned_revenue': fields.float('Planned Revenue'),
'planned_cost': fields.float('Planned Costs'),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),

View File

@ -2,7 +2,6 @@
<openerp>
<data noupdate="1">
<record id="crm_helpdesk_wheretodownloadopenerp0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'E-mail')]"/>
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
@ -15,7 +14,6 @@
</record>
<record id="crm_helpdesk_cannotabletoconnecttoserver0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'website')]"/>
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_demo"/>
<field name="company_id" ref="base.main_company"/>
@ -28,7 +26,6 @@
</record>
<record id="crm_helpdesk_documentationforcrm0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'phone')]"/>
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
@ -41,7 +38,6 @@
</record>
<record id="crm_helpdesk_howtocreateanewmodule0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_9"/>
<field eval="1" name="active"/>
<field name="partner_id" ref="base.res_partner_2"/>
@ -54,4 +50,4 @@
<field eval="&quot;How can I create new module in OpenERP?&quot;" name="description"/>
</record>
</data>
</openerp>
</openerp>

View File

@ -62,7 +62,7 @@
<separator colspan="4" string="Categorization"/>
<field name="priority"/>
<field name="categ_id" context="{'object_id':'crm.helpdesk'}"/>
<field name="canal_id"/>
<field name="channel_id"/>
</group>
<separator colspan="4" string="Notes"/>

View File

@ -56,7 +56,7 @@ class crm_helpdesk_report(osv.osv):
'date_deadline': fields.date('Deadline', select=True),
'priority': fields.selection([('5', 'Lowest'), ('4', 'Low'), \
('3', 'Normal'), ('2', 'High'), ('1', 'Highest')], 'Priority'),
'canal_id': fields.many2one('res.partner.canal', 'Channel'),
'channel_id': fields.many2one('crm.case.channel', 'Channel'),
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.helpdesk')]"),
@ -93,7 +93,7 @@ class crm_helpdesk_report(osv.osv):
c.priority,
c.date_deadline,
c.categ_id,
c.canal_id,
c.channel_id,
c.planned_cost,
count(*) as nbr,
extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close,
@ -104,7 +104,7 @@ class crm_helpdesk_report(osv.osv):
group by to_char(c.date, 'YYYY'), to_char(c.date, 'MM'),to_char(c.date, 'YYYY-MM-DD'),\
c.state, c.user_id,c.section_id,c.priority,\
c.partner_id,c.company_id,c.date_deadline,c.create_date,c.date,c.date_closed,\
c.categ_id,c.canal_id,c.planned_cost,c.id
c.categ_id,c.channel_id,c.planned_cost,c.id
)""")
crm_helpdesk_report()

View File

@ -25,7 +25,7 @@
<field name="planned_cost"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
<field name="canal_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
</tree>
</field>
</record>
@ -106,9 +106,7 @@
domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Channel" icon="terp-call-start"
domain="[]"
context="{'group_by':'canal_id'}" />
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
<separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" />

View File

@ -25,7 +25,6 @@
<field eval="'1236547890'" name="partner_phone"/>
</record>
<record id="hr_case_traineemca0" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
<field name="type_id" ref="degree_bac5"/>
@ -45,7 +44,6 @@
<field eval="'6633225'" name="partner_phone"/>
</record>
<record id="hr_case_fresher0" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','direct')]"/>
<field eval="time.strftime('%Y-%m-15 16:10:00')" name="date"/>
<field eval="time.strftime('%Y-%m-18')" name="date_deadline"/>
<field name="type_id" ref="degree_licenced"/>
@ -115,7 +113,6 @@
<field eval="'33968745'" name="partner_phone"/>
</record>
<record id="hr_case_traineemca1" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
<field name="type_id" ref="degree_bac5"/>
@ -136,7 +133,6 @@
</record>
<record id="hr_case_programmer" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
<field name="type_id" ref="degree_bac5"/>

View File

@ -206,8 +206,7 @@ class project_issue(crm.crm_case, osv.osv):
# Project Issue fields
'date_closed': fields.datetime('Closed', readonly=True,select=True),
'date': fields.datetime('Date'),
'canal_id': fields.many2one('res.partner.canal', 'Channel', help="The channels represent the different communication modes available with the customer." \
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'version_id': fields.many2one('project.issue.version', 'Version'),

View File

@ -198,7 +198,6 @@
</record>
<record id="crm_case_createnewobject0" model="project.issue">
<field model="res.partner.canal" name="canal_id" search="[('name','=','phone')]"/>
<field name="partner_address_id" ref="base.res_partner_address_6"/>
<field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
<field eval="&quot;3&quot;" name="priority"/>

View File

@ -66,7 +66,7 @@ class project_issue_report(osv.osv):
'version_id': fields.many2one('project.issue.version', 'Version'),
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
'canal_id': fields.many2one('res.partner.canal', 'Channel',readonly=True),
'channel_id': fields.many2one('crm.case.channel', 'Channel',readonly=True),
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" ),
'email': fields.integer('# Emails', size=128, readonly=True),
}
@ -97,7 +97,7 @@ class project_issue_report(osv.osv):
1 as nbr,
c.assigned_to,
c.partner_id,
c.canal_id,
c.channel_id,
c.task_id,
date_trunc('day',c.create_date) as create_date,
extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open,

View File

@ -18,7 +18,7 @@
<field name="section_id" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="canal_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="assigned_to" invisible="1"/>

View File

@ -794,7 +794,6 @@ class sale_order(osv.osv):
'document': '',
'partner_id': part,
'date': time.strftime('%Y-%m-%d'),
'canal_id': False,
'user_id': uid,
'partner_type': partnertype,
'probability': 1.0,