diff --git a/addons/crm_project_issue/__init__.py b/addons/crm_project_issue/__init__.py index 40302ae183c..1d0a3f683ea 100644 --- a/addons/crm_project_issue/__init__.py +++ b/addons/crm_project_issue/__init__.py @@ -1,3 +1,2 @@ -import project_issue -import crm_lead \ No newline at end of file +import project_issue \ No newline at end of file diff --git a/addons/crm_project_issue/__openerp__.py b/addons/crm_project_issue/__openerp__.py index 89ef20a655e..e50a6dbfa2a 100644 --- a/addons/crm_project_issue/__openerp__.py +++ b/addons/crm_project_issue/__openerp__.py @@ -13,8 +13,7 @@ CRM Project Issues Link module to map leads and issues """, 'data': [ - 'project_issue_view.xml', - 'crm_lead_view.xml', + 'project_issue_view.xml' ], 'depends' : ['crm', 'project_issue'], 'installable': True, diff --git a/addons/crm_project_issue/project_issue.py b/addons/crm_project_issue/project_issue.py index 9409aeb51ae..8e7a0733932 100644 --- a/addons/crm_project_issue/project_issue.py +++ b/addons/crm_project_issue/project_issue.py @@ -1,14 +1,36 @@ from openerp.osv import osv, fields +class crm_lead_to_project_issue_wizard(osv.TransientModel): + """ wizard to convert a Lead into a Project Issue and move the Mail Thread """ -class project_issue(osv.Model): - _inherit = 'project.issue' + def action_lead_to_project_issue(self, cr, uid, ids, context=None): + # get the wizards + wizards = self.browse(cr, uid, ids, context=context) + lead_model = self.pool.get("crm.lead") + issue_model = self.pool.get("project.issue") + + for wizard in wizards: + # get the lead to transform + lead = lead_model.browse(cr, uid, wizard.lead_id.id, context=context) + # create new project.issue + vals = {} + vals["name"] = lead.name + vals["description"] = lead.description + vals["email_from"] = lead.email_from + vals["partner_id"] = lead.partner_id.id + vals["project_id"] = wizard.project_id.id + issue_id = issue_model.create(cr, uid, vals, context=None) + # move the mail thread + lead_model.transform_model_messages(cr, uid, wizard.lead_id.id, issue_id, "project.issue", context=context) + # delete the lead + lead_model.unlink(cr, uid, [wizard.lead_id.id], context=None) + return False + + + _name = "crm.lead2projectissue.wizard" _columns = { - 'lead_id': fields.many2one('crm.lead', ondelete='set null', string="Related lead"), - } - - _defaults = { - + "lead_id" : fields.many2one("crm.lead","Lead", domain=[("type","=","lead")]), + "project_id" : fields.many2one("project.project", "Project", domain=[("use_issues","=",True)]) } \ No newline at end of file diff --git a/addons/crm_project_issue/project_issue_view.xml b/addons/crm_project_issue/project_issue_view.xml index 18a03b5a2c1..57cf256bdd3 100644 --- a/addons/crm_project_issue/project_issue_view.xml +++ b/addons/crm_project_issue/project_issue_view.xml @@ -1,17 +1,44 @@ - + - - - - project.issue.form - project.issue - - - - - - - + - + + + CRM - Leads Form + crm.lead + + + +