+ _defaults = {
+ 'active': lambda *a: 1,
+ 'user_id': crm.crm_case._get_default_user,
+ 'partner_id': crm.crm_case._get_default_partner,
+ 'partner_address_id': crm.crm_case._get_default_partner_address,
+ 'email_from': crm.crm_case. _get_default_email,
+ 'state': lambda *a: 'draft',
+ 'section_id': crm.crm_case. _get_section,
+ 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
+ 'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
+ 'project_id':_get_project,
+ }
+
+ def convert_issue_task(self, cr, uid, ids, context=None):
+ case_obj = self.pool.get('project.issue')
+ data_obj = self.pool.get('ir.model.data')
+ task_obj = self.pool.get('project.task')
+
+ if context is None:
+ context = {}
+
+# for case in case_obj.browse(cr, uid, ids, context=context):
+# if case.state != 'open':
+# raise osv.except_osv(_('Warning !'),
+# _('Issues or Feature Requests should be in \'Open\' state before converting into Task.'))
+
+ result = data_obj._get_id(cr, uid, 'project', 'view_task_search_form')
+ res = data_obj.read(cr, uid, result, ['res_id'])
+ id2 = data_obj._get_id(cr, uid, 'project', 'view_task_form2')
+ id3 = data_obj._get_id(cr, uid, 'project', 'view_task_tree2')
+ if id2:
+ id2 = data_obj.browse(cr, uid, id2, context=context).res_id
+ if id3:
+ id3 = data_obj.browse(cr, uid, id3, context=context).res_id
+
+ for bug in case_obj.browse(cr, uid, ids, context=context):
+ new_task_id = task_obj.create(cr, uid, {
+ 'name': bug.name,
+ 'partner_id': bug.partner_id.id,
+ 'description':bug.description,
+ 'date': bug.date,
+ 'project_id':bug.project_id.id,
+ 'priority':bug.priority,
+ 'user_id':bug.assigned_to.id,
+ 'planned_hours': 0.0,
+ })
+
+ new_task = task_obj.browse(cr, uid, new_task_id)
+
+ vals = {
+ 'task_id': new_task_id,
+ }
+ case_obj.write(cr, uid, [bug.id], vals)
+
+ return {
+ 'name': _('Tasks'),
+ 'view_type': 'form',
+ 'view_mode': 'form,tree',
+ 'res_model': 'project.task',
+ 'res_id': int(new_task_id),
+ 'view_id': False,
+ 'views': [(id2,'form'),(id3,'tree'),(False,'calendar'),(False,'graph')],
+ 'type': 'ir.actions.act_window',
+ 'search_view_id': res['res_id'],
+ 'nodestroy': True
+ }
+