improvement

bzr revid: fp@tinyerp.com-20081030073655-9953jh2o52sqh7tk
This commit is contained in:
Fabien Pinckaers 2008-10-30 08:36:55 +01:00
parent 45886d06d8
commit 96d86dff38
5 changed files with 229 additions and 222 deletions

View File

@ -5,11 +5,17 @@
"author" : "Tiny",
"website" : "http://tinyerp.com/module_crm.html",
"category" : "Generic Modules/CRM & SRM",
"description": """ The Tiny ERP case and request tracker enables a group of
people to intelligently and efficiently manage tasks, issues,
and requests. It manages key tasks such as communication,
identification, prioritization, assignment, resolution and notification.""",
"depends" : ["crm","report_crm", "process", "account", "board_document"],
"description": """
The Tiny ERP case and request tracker enables a group of
people to intelligently and efficiently manage tasks, issues,
and requests. It manages key tasks such as communication,
identification, prioritization, assignment, resolution and notification.
This module provide screens like: jobs hiring process, leads, business
opportunities, fund raising trackings, support & helpdesk, calendar of
meetings, eso.
""",
"depends" : ["crm","report_crm", "process"],
"init_xml" : [
"crm_config_view.xml",
"crm_bugs_view.xml",
@ -21,24 +27,24 @@
"crm_report_view.xml"
],
"demo_xml" : [
"crm_bugs_demo.xml",
"crm_fund_demo.xml",
"crm_jobs_demo.xml",
"crm_meeting_demo.xml",
"crm_lead_demo.xml",
"crm_opportunity_demo.xml",
],
# "crm_bugs_demo.xml",
# "crm_fund_demo.xml",
# "crm_jobs_demo.xml",
# "crm_meeting_demo.xml",
# "crm_lead_demo.xml",
# "crm_opportunity_demo.xml",
],
"update_xml" : [
"crm_bugs_data.xml",
"crm_fund_data.xml",
"crm_jobs_data.xml",
"crm_meeting_data.xml",
"crm_lead_data.xml",
"crm_opportunity_data.xml",
"crm_bugs_menu.xml", "crm_fund_menu.xml",
"crm_jobs_menu.xml", "crm_opportunity_menu.xml",
"crm_helpdesk_menu.xml", "crm_lead_menu.xml",
"crm_meeting_menu.xml",
# "crm_bugs_data.xml",
# "crm_fund_data.xml",
# "crm_jobs_data.xml",
# "crm_meeting_data.xml",
# "crm_lead_data.xml",
# "crm_opportunity_data.xml",
# "crm_bugs_menu.xml", "crm_fund_menu.xml",
# "crm_jobs_menu.xml", "crm_opportunity_menu.xml",
# "crm_helpdesk_menu.xml", "crm_lead_menu.xml",
# "crm_meeting_menu.xml",
"security/ir.model.access.csv",
"process/crm_configuration_process.xml",
],

View File

@ -1,78 +1,78 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<!--
Case Sections
-->
<record model="crm.case.section" id="section_support">
<field name="name">Bug Tracking</field>
<field name="code">BugSup</field>
</record>
<!--
Case Sections
-->
<record model="crm.case.section" id="section_support">
<field name="name">Bug Tracking</field>
<field name="code">BugSup</field>
</record>
<!--
Case Categories
-->
<!-- For Bugs -->
<!--
Case Categories
-->
<!-- For Bugs -->
<record model="crm.case.categ" id="categ1">
<field name="name">Bugs</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.categ" id="categ2">
<field name="name">Patches</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.categ" id="categ3">
<field name="name">Feature Requests</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.categ" id="categ1">
<field name="name">Bugs</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.categ" id="categ2">
<field name="name">Patches</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.categ" id="categ3">
<field name="name">Feature Requests</field>
<field name="section_id" ref="section_support"/>
</record>
<!--
Case Category2
-->
<!-- For Bugs -->
<record model="crm.case.category2" id="category1">
<field name="name">Version 4.2</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.category2" id="category2">
<field name="name">Version 4.4</field>
<field name="section_id" ref="section_support"/>
</record>
<!--
Case Category2
-->
<!-- For Bugs -->
<record model="crm.case.category2" id="category1">
<field name="name">Version 4.2</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.category2" id="category2">
<field name="name">Version 4.4</field>
<field name="section_id" ref="section_support"/>
</record>
<!--
Case Stage
-->
<!-- For Bugs -->
<!--
Case Stage
-->
<!-- For Bugs -->
<record model="crm.case.stage" id="stage1">
<field name="name">Accepted as Bug</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage2">
<field name="name">Fixed</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage3">
<field name="name">Won't fix</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage4">
<field name="name">Invalid</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage5">
<field name="name">Awaiting Response</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage6">
<field name="name">Works For Me</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage7">
<field name="name">Future</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage1">
<field name="name">Accepted as Bug</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage2">
<field name="name">Fixed</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage3">
<field name="name">Won't fix</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage4">
<field name="name">Invalid</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage5">
<field name="name">Awaiting Response</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage6">
<field name="name">Works For Me</field>
<field name="section_id" ref="section_support"/>
</record>
<record model="crm.case.stage" id="stage7">
<field name="name">Future</field>
<field name="section_id" ref="section_support"/>
</record>
</data>
</openerp>

View File

@ -97,17 +97,23 @@ class crm_menu_config_wizard(osv.osv_memory):
'opportunity': lambda *args: True,
}
def action_create(self, cr, uid, ids, *args):
for res in self.read(cr,uid,ids):
res.__delitem__('id')
# 'update'
for section in res :
if res[section]:
file_name = 'crm_'+section+'_menu.xml'
try:
tools.convert_xml_import(cr, 'crm_configuration', tools.file_open(os.path.join('crm_configuration',file_name )), {}, 'init', *args)
except Exception, e:
raise osv.except_osv('Error !', e)
modid = self.pool.get('ir.module.module').search(cr, uid, [('name','=','crm_configuration')])
moddemo = self.pool.get('ir.module.module').browse(cr, uid, modid[0]).demo
lst= ('data','menu')
if moddemo:
lst = ('data','menu','demo')
res = self.read(cr,uid,ids)[0]
for section in ['meeting','lead','opportunity','jobs','bugs','fund','helpdesk'] :
if (not res[section]):
continue
for fname in lst:
file_name = 'crm_'+section+'_'+fname+'.xml'
try:
fp = tools.file_open(os.path.join('crm_configuration',file_name ))
except IOError, e:
fp = None
if fp:
tools.convert_xml_import(cr, 'crm_configuration', fp, {}, 'init', *args)
return {
'view_type': 'form',
"view_mode": 'form',

View File

@ -10,7 +10,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure CRM Sections">
<separator col="4" colspan="4" string="Install Pre-Configured Features"/>
<separator colspan="4" string="Install Pre-Configured Features"/>
<label colspan="4" align="0.0" string="The CRM module of OpenERP is able to manage any kind of relationship. But, as to help you to start quickly on the system, we configured a few of them for you."/>
<newline/>
<field name="meeting"/>
@ -20,7 +20,9 @@
<field name="bugs"/>
<field name="fund"/>
<field name="helpdesk"/>
<separator colspan="4" string="Calendar Sharing"/>
<field name="document_ics"/>
<newline/>
<group col="4" colspan="4">
<button icon="gtk-cancel" name="action_cancel" type="object" special="cancel" string="Cancel"/>
<button icon="gtk-go-forward" name="action_create" string="Next" type="object"/>
@ -48,16 +50,16 @@
<!-- graph view -->
<record model="ir.ui.view" id="crm_case_graph_view_stage_cost">
<field name="name">CRM -Graph</field>
<field name="model">crm.case</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
<field name="stage_id"/>
<field name="planned_cost" operator="+"/>
<field name="planned_revenue" operator="+"/>
</graph>
</field>
</record>
</data>
<field name="name">CRM -Graph</field>
<field name="model">crm.case</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
<field name="stage_id"/>
<field name="planned_cost" operator="+"/>
<field name="planned_revenue" operator="+"/>
</graph>
</field>
</record>
</data>
</openerp>

View File

@ -1,113 +1,106 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<data>
<!--
Process
-->
<record id="process_process_contractworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Contracts flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Contract Workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_leads0" model="process.node">
<field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act_leads_all"/>
<field name="model_id" ref="crm.model_crm_case"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Leads&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Premier Contact Leads&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_opportunities0" model="process.node">
<field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act_oppor11"/>
<field name="model_id" ref="crm.model_crm_case"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Opportunities&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Business Opportunities&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_accord0" model="process.node">
<field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act_leads_all"/>
<field name="model_id" ref="crm.model_crm_case"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Accord&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Accord Client Contract&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="&quot;&quot;&quot;object.state=='done'&quot;&quot;&quot;" name="model_states"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_contractanalytic0" model="process.node">
<field name="menu_id" ref="account.account_analytic_def_account"/>
<field name="model_id" ref="account.model_account_analytic_account"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Contract Analytic&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Analytic accounts&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_contractpricelist0" model="process.node">
<field name="menu_id" ref="product.menu_product_pricelist_action2"/>
<field name="model_id" ref="product.model_product_pricelist"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Contract Pricelist&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Contract Volume (pricelist)&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="0" name="flow_start"/>
</record>
<!--
Process Transition
-->
<record id="process_transition_leadopportunity0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Lead Opportunity&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Creating business opportunities from leads&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_opportunities0"/>
<field model="process.node" name="source_node_id" ref="process_node_leads0"/>
</record>
<record id="process_transition_opportunitiesaccord0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Opportunities Accord&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;When leads are confirmed&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_accord0"/>
<field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
</record>
<record id="process_transition_accordanalytic0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Accord Analytic&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Goes into the Analytic&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_contractanalytic0"/>
<field model="process.node" name="source_node_id" ref="process_node_accord0"/>
</record>
<record id="process_transition_accordpricelist0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Accord Pricelist&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Goes into the Pricelist&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_contractpricelist0"/>
<field model="process.node" name="source_node_id" ref="process_node_accord0"/>
</record>
<field eval="&quot;&quot;&quot;Contracts flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Contract Workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_leads0" model="process.node">
<field name="model_id" ref="crm.model_crm_case"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Leads&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Premier Contact Leads&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_opportunities0" model="process.node">
<field name="model_id" ref="crm.model_crm_case"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Opportunities&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Business Opportunities&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_accord0" model="process.node">
<field name="model_id" ref="crm.model_crm_case"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Accord&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Accord Client Contract&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="&quot;&quot;&quot;object.state=='done'&quot;&quot;&quot;" name="model_states"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_contractanalytic0" model="process.node">
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Contract Analytic&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Analytic Accounts&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_contractpricelist0" model="process.node">
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Contract Pricelist&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Contract Volume (pricelist)&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_contractworkflow0"/>
<field eval="0" name="flow_start"/>
</record>
<!--
Process Transition
-->
<record id="process_transition_leadopportunity0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Lead Opportunity&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Creating business opportunities from leads&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_opportunities0"/>
<field model="process.node" name="source_node_id" ref="process_node_leads0"/>
</record>
<record id="process_transition_opportunitiesaccord0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Opportunities Accord&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;When leads are confirmed&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_accord0"/>
<field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
</record>
<record id="process_transition_accordanalytic0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Accord Analytic&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Goes into the Analytic&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_contractanalytic0"/>
<field model="process.node" name="source_node_id" ref="process_node_accord0"/>
</record>
<record id="process_transition_accordpricelist0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Accord Pricelist&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Goes into the Pricelist&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_contractpricelist0"/>
<field model="process.node" name="source_node_id" ref="process_node_accord0"/>
</record>
</data>
</openerp>
</data>
</openerp>