From 0ce261f492e6dff74adb151640083da994230e18 Mon Sep 17 00:00:00 2001 From: "uco (OpenERP)" Date: Tue, 12 Jan 2010 12:13:23 +0530 Subject: [PATCH] [IMP]: Instead of having very different object that uses the same table (crm.case.category), develop new tables for the obejcts that needs cateogry. bzr revid: uco@tinyerp.co.in-20100112064323-f9qehbacvy19pdfg --- addons/crm/crm_claim.py | 16 +++++++-- addons/crm/crm_claims_data.xml | 8 ++--- addons/crm/crm_claims_view.xml | 34 ++++++++++++++++++ addons/crm/crm_fund_data.xml | 10 +++--- addons/crm/crm_fund_view.xml | 35 ++++++++++++++++++ addons/crm/crm_fundraising.py | 17 +++++++-- addons/crm/crm_helpdesk.py | 15 +++++++- addons/crm/crm_helpdesk_view.xml | 35 ++++++++++++++++++ addons/crm/crm_lead.py | 15 +++++++- addons/crm/crm_lead_data.xml | 16 ++++----- addons/crm/crm_lead_view.xml | 36 +++++++++++++++++++ addons/crm/crm_opportunity.py | 15 +++++++- addons/crm/crm_opportunity_data.xml | 16 ++++----- addons/crm/crm_opportunity_view.xml | 36 +++++++++++++++++++ addons/crm/crm_phonecall.py | 15 +++++++- addons/crm/crm_phonecall_data.xml | 6 ++-- addons/crm/crm_phonecall_view.xml | 37 +++++++++++++++++++ addons/crm/crm_view.xml | 4 +-- addons/crm_job/__terp__.py | 2 +- addons/crm_job/crm_job.py | 15 +++++++- addons/crm_job/crm_jobs_data.xml | 4 +-- addons/crm_job/crm_jobs_demo.xml | 56 ++++++++++++++--------------- addons/crm_job/crm_jobs_view.xml | 37 +++++++++++++++++++ 23 files changed, 409 insertions(+), 71 deletions(-) diff --git a/addons/crm/crm_claim.py b/addons/crm/crm_claim.py index 1033001f789..be01e5af240 100644 --- a/addons/crm/crm_claim.py +++ b/addons/crm/crm_claim.py @@ -40,12 +40,24 @@ def _links_get(self, cr, uid, context={}): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] +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(osv.osv): _name = "crm.claim" _description = "Claim Cases" _order = "id desc" _inherit = 'crm.case' - _table = 'crm_claim' _columns = { 'date_closed': fields.datetime('Closed', readonly=True), 'ref' : fields.reference('Reference', selection=_links_get, size=128), @@ -57,7 +69,7 @@ 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.case.categ', 'Category', domain="[('section_id','=',section_id)]", help='Category related to the section.Subdivide the CRM cases independently or section-wise.'), + 'categ_id': fields.many2one('crm.claim.categ','Category', domain="[('section_id','=',section_id)]"), 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), 'category2_id': fields.many2one('crm.case.category2', 'Category Name', domain="[('section_id','=',section_id)]"), diff --git a/addons/crm/crm_claims_data.xml b/addons/crm/crm_claims_data.xml index c4b41a30b9e..38c20d781a5 100644 --- a/addons/crm/crm_claims_data.xml +++ b/addons/crm/crm_claims_data.xml @@ -7,17 +7,17 @@ - + Factual Claims - + Value Claims - + Policy Claims diff --git a/addons/crm/crm_claims_view.xml b/addons/crm/crm_claims_view.xml index a24d0ae812c..758dc775ab8 100644 --- a/addons/crm/crm_claims_view.xml +++ b/addons/crm/crm_claims_view.xml @@ -33,6 +33,40 @@ new + + + crm.claim.categ.form + crm.claim.categ + form + +
+ + + + + +
+ + crm.claim.categ.tree + crm.claim.categ + tree + + + + + + + + + + + Claim Categories + crm.claim.categ + form + + + + CRM - Claims Tree crm.claim diff --git a/addons/crm/crm_fund_data.xml b/addons/crm/crm_fund_data.xml index 159d202ac2a..249efcde76f 100644 --- a/addons/crm/crm_fund_data.xml +++ b/addons/crm/crm_fund_data.xml @@ -6,24 +6,24 @@ funds - + - + Social Rehabilitation And Rural Upliftment - + Learning And Education - + Healthcare - + Arts And Culture diff --git a/addons/crm/crm_fund_view.xml b/addons/crm/crm_fund_view.xml index b3a20b76430..57b29f7b2c5 100644 --- a/addons/crm/crm_fund_view.xml +++ b/addons/crm/crm_fund_view.xml @@ -2,6 +2,41 @@ + # ------------------------------------------------------ + # Fund Raising Categories + # ------------------------------------------------------ + + crm.fundraising.categ.form + crm.fundraising.categ + form + +
+ + + + + +
+ + crm.fundraising.categ.tree + crm.fundraising.categ + tree + + + + + + + + + + + Fundraising Categories + crm.fundraising.categ + form + + + # ------------------------------------------------------ # Fund Raising # ------------------------------------------------------ diff --git a/addons/crm/crm_fundraising.py b/addons/crm/crm_fundraising.py index e46ad59c327..626d3498827 100644 --- a/addons/crm/crm_fundraising.py +++ b/addons/crm/crm_fundraising.py @@ -46,6 +46,18 @@ def _links_get(self, cr, uid, context={}): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] +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(osv.osv): _name = "crm.fundraising" @@ -55,7 +67,7 @@ class crm_fundraising(osv.osv): _columns = { 'date_closed': fields.datetime('Closed', readonly=True), 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), - '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.'), + 'categ_id': fields.many2one('crm.fundraising.categ','Category', domain="[('section_id','=',section_id)]"), 'planned_revenue': fields.float('Planned Revenue'), 'planned_cost': fields.float('Planned Costs'), 'probability': fields.float('Probability (%)'), @@ -74,9 +86,8 @@ class crm_fundraising(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)."), - - } + _defaults = { 'priority': lambda *a: AVAILABLE_PRIORITIES[2][0], } diff --git a/addons/crm/crm_helpdesk.py b/addons/crm/crm_helpdesk.py index 97bf3aa7a8c..85f36e946a9 100644 --- a/addons/crm/crm_helpdesk.py +++ b/addons/crm/crm_helpdesk.py @@ -46,6 +46,19 @@ def _links_get(self, cr, uid, context={}): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] +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" _description = "Helpdesk Cases" @@ -64,7 +77,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.case.categ', 'Category', domain="[('section_id','=',section_id)]", help='Category related to the section.Subdivide the CRM cases independently or section-wise.'), + 'categ_id': fields.many2one('crm.helpdesk.categ', 'Category', domain="[('section_id','=',section_id)]"), 'duration': fields.float('Duration'), } diff --git a/addons/crm/crm_helpdesk_view.xml b/addons/crm/crm_helpdesk_view.xml index 13b29e1849c..79ade11c828 100644 --- a/addons/crm/crm_helpdesk_view.xml +++ b/addons/crm/crm_helpdesk_view.xml @@ -2,6 +2,41 @@ + # ------------------------------------------------------ + # Helpdesk Support Categories + # ------------------------------------------------------ + + crm.helpdesk.categ.form + crm.helpdesk.categ + form + +
+ + + + + +
+ + crm.helpdesk.categ.tree + crm.helpdesk.categ + tree + + + + + + + + + + + Helpdesk Categories + crm.helpdesk.categ + form + + + # ------------------------------------------------------ # Helpdesk Support # ------------------------------------------------------ diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index dcbbef53051..acb40bb34fb 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -46,13 +46,26 @@ def _links_get(self, cr, uid, context={}): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] +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(osv.osv): _name = "crm.lead" _description = "Leads Cases" _order = "id desc" _inherit = 'crm.case' _columns = { - '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.'), + 'categ_id': fields.many2one('crm.lead.categ', 'Category', domain="[('section_id','=',section_id)]"), 'category2_id': fields.many2one('crm.case.category2', 'Category Name', domain="[('section_id','=',section_id)]"), 'partner_name': fields.char("Employee's Name", size=64), 'partner_name2': fields.char('Employee Email', size=64), diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml index a6702c40146..c1e9dd9888f 100644 --- a/addons/crm/crm_lead_data.xml +++ b/addons/crm/crm_lead_data.xml @@ -7,32 +7,32 @@ leads
- - + + Existing Customer - + Self Generated - + Employee - + Partner - + Website - + Word of mouth - + Other diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 615f0803a10..8ec2b27da4e 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -2,6 +2,42 @@ + # ------------------------------------------------------ + # Leads Categories + # ------------------------------------------------------ + + + crm.lead.categ.form + crm.lead.categ + form + +
+ + + + + +
+ + crm.lead.categ.tree + crm.lead.categ + tree + + + + + + + + + + + Lead Categories + crm.lead.categ + form + + + # ------------------------------------------------------ # Leads # ------------------------------------------------------ diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py index 3a4759a7fe9..f13ec5f2308 100644 --- a/addons/crm/crm_opportunity.py +++ b/addons/crm/crm_opportunity.py @@ -46,6 +46,19 @@ def _links_get(self, cr, uid, context={}): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] +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(osv.osv): _name = "crm.opportunity" _description = "Opportunity Cases" @@ -53,7 +66,7 @@ class crm_opportunity(osv.osv): _inherit = 'crm.case' _columns = { '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)]", help='Category related to the section.Subdivide the CRM cases independently or section-wise.'), + 'categ_id': fields.many2one('crm.opportunity.categ', 'Category', domain="[('section_id','=',section_id)]"), 'category2_id': fields.many2one('crm.case.category2', 'Category Name', domain="[('section_id','=',section_id)]"), 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), 'probability': fields.float('Probability (%)'), diff --git a/addons/crm/crm_opportunity_data.xml b/addons/crm/crm_opportunity_data.xml index 44c45e0cc16..9526d9d6fc7 100644 --- a/addons/crm/crm_opportunity_data.xml +++ b/addons/crm/crm_opportunity_data.xml @@ -6,35 +6,35 @@ oppor
- + Existing Customer - + Self Generated - + Employee - + Partner - + Campaign - + Website - + Word of mouth - + Other diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml index 750ab90addb..e7652a80d50 100644 --- a/addons/crm/crm_opportunity_view.xml +++ b/addons/crm/crm_opportunity_view.xml @@ -2,6 +2,42 @@ + # ------------------------------------------------------ + # Opportunity Categories + # ------------------------------------------------------ + + + crm.opportunity.categ.form + crm.opportunity.categ + form + +
+ + + + + +
+ + crm.opportunity.categ.tree + crm.opportunity.categ + tree + + + + + + + + + + + Opportunity Categories + crm.opportunity.categ + form + + + # ------------------------------------------------------ # Opportunities # ------------------------------------------------------ diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index 26f89a0fa3e..9a9cc80c844 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -38,6 +38,19 @@ AVAILABLE_PRIORITIES = [ ('1','Highest') ] +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(osv.osv): _name = "crm.phonecall" _description = "Phonecall Cases" @@ -45,7 +58,7 @@ class crm_phonecall(osv.osv): _inherit = 'crm.case' _columns = { 'duration': fields.float('Duration'), - '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.'), + 'categ_id': fields.many2one('crm.phonecall.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" \ diff --git a/addons/crm/crm_phonecall_data.xml b/addons/crm/crm_phonecall_data.xml index d59a0cb52d9..619bc8daf8d 100644 --- a/addons/crm/crm_phonecall_data.xml +++ b/addons/crm/crm_phonecall_data.xml @@ -7,13 +7,13 @@
- + Inbound - + Outbound diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 109cc5ee282..071434123e7 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -1,6 +1,43 @@ + + # ------------------------------------------------------ + # Phonecall Categories + # ------------------------------------------------------ + + + crm.phonecall.categ.form + crm.phonecall.categ + form + +
+ + + + + +
+ + crm.phonecall.categ.tree + crm.phonecall.categ + tree + + + + + + + + + + + Phonecall Categories + crm.phonecall.categ + form + + + # ------------------------------------------------------ # Phone Calls # ------------------------------------------------------ diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index 5fdc9f4f3a4..2aebc4f4366 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -60,7 +60,7 @@
- + diff --git a/addons/crm_job/__terp__.py b/addons/crm_job/__terp__.py index 7e29b67af9b..2dce90e2b66 100644 --- a/addons/crm_job/__terp__.py +++ b/addons/crm_job/__terp__.py @@ -41,7 +41,7 @@ 'security/crm_job_security.xml', ], 'demo_xml': [ - #'crm_jobs_demo.xml' + 'crm_jobs_demo.xml' ], 'installable': True, 'active': False, diff --git a/addons/crm_job/crm_job.py b/addons/crm_job/crm_job.py index 34244746cc1..c1d5b2a2ef4 100644 --- a/addons/crm_job/crm_job.py +++ b/addons/crm_job/crm_job.py @@ -46,6 +46,19 @@ def _links_get(self, cr, uid, context={}): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] +class crm_job_categ(osv.osv): + _name = "crm.job.categ" + _description = "Job 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_job_categ() + class crm_job(osv.osv): _name = "crm.job" _description = "Job Cases" @@ -54,7 +67,7 @@ class crm_job(osv.osv): _columns = { 'date_closed': fields.datetime('Closed', readonly=True), 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), - '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.'), + 'categ_id': fields.many2one('crm.job.categ', 'Category', domain="[('section_id','=',section_id)]"), 'planned_revenue': fields.float('Planned Revenue'), 'planned_cost': fields.float('Planned Costs'), 'probability': fields.float('Probability (%)'), diff --git a/addons/crm_job/crm_jobs_data.xml b/addons/crm_job/crm_jobs_data.xml index 8bee7e2d89d..716cb4c2554 100644 --- a/addons/crm_job/crm_jobs_data.xml +++ b/addons/crm_job/crm_jobs_data.xml @@ -8,12 +8,12 @@ - + Salesman - + Junior Developer diff --git a/addons/crm_job/crm_jobs_demo.xml b/addons/crm_job/crm_jobs_demo.xml index 28b9c8373b6..8878eca9e47 100644 --- a/addons/crm_job/crm_jobs_demo.xml +++ b/addons/crm_job/crm_jobs_demo.xml @@ -9,19 +9,19 @@ - + - + - - + + @@ -30,19 +30,19 @@ - + - + - - + + @@ -52,26 +52,26 @@ - + - + - - + + - - + + @@ -79,46 +79,46 @@ - + - + - + - + - - + + - + - + - - + + @@ -127,19 +127,19 @@ - + - + - - + + diff --git a/addons/crm_job/crm_jobs_view.xml b/addons/crm_job/crm_jobs_view.xml index 0f570e6451a..f338e70f6b8 100644 --- a/addons/crm_job/crm_jobs_view.xml +++ b/addons/crm_job/crm_jobs_view.xml @@ -1,6 +1,43 @@ + + # ------------------------------------------------------ + # Job Categories + # ------------------------------------------------------ + + + crm.job.categ.form + crm.job.categ + form + +
+ + + + + +
+ + crm.job.categ.tree + crm.job.categ + tree + + + + + + + + + + + Job Categories + crm.job.categ + form + + + # ------------------------------------------------------ # Jobs # ------------------------------------------------------