From d0ccd0209e2d9b07f2db9b438ec0f1ed3490452c Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Mon, 5 Apr 2010 15:47:04 +0530 Subject: [PATCH] [REM] Project: New Project Based on Template removed (Merge with osv object no need to wizard file) [IMP] Project: modify duplicate template method on project to return new created project form (Removed old wizard) bzr revid: mra@tinyerp.com-20100405101704-npqhhsl4x6q15rvb --- addons/project/project.py | 26 ++++++- addons/project/project_view.xml | 6 +- addons/project/project_wizard.xml | 4 +- addons/project/wizard/__init__.py | 1 - .../wizard/duplicate_template_wizard.py | 71 ------------------- 5 files changed, 31 insertions(+), 77 deletions(-) delete mode 100644 addons/project/wizard/duplicate_template_wizard.py diff --git a/addons/project/project.py b/addons/project/project.py index 278646e097a..e34474233bb 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -190,10 +190,11 @@ class project(osv.osv): def duplicate_template(self, cr, uid, ids, context={}): project_obj = self.pool.get('project.project') + data_obj = self.pool.get('ir.model.data') task_obj = self.pool.get('project.task') result = [] for proj in self.browse(cr, uid, ids, context=context): - parent_id = context.get('parent_id',False) + parent_id = context.get('parent_id',False) # check me where to pass context for parent id ?? new_id = project_obj.copy(cr, uid, proj.id, default = { 'name': proj.name +_(' (copy)'), 'state':'open', @@ -208,7 +209,28 @@ class project(osv.osv): child_ids = self.search(cr, uid, [('parent_id','=', proj.id)], context=context) if child_ids: self.duplicate_template(cr, uid, child_ids, context={'parent_id': new_id}) - return result + + if result and len(result): + res_id = result[0] + form_view_id = data_obj._get_id(cr, uid, 'project', 'edit_project') + form_view = data_obj.read(cr, uid, form_view_id, ['res_id']) + tree_view_id = data_obj._get_id(cr, uid, 'project', 'view_project_list') + tree_view = data_obj.read(cr, uid, tree_view_id, ['res_id']) + search_view_id = data_obj._get_id(cr, uid, 'project', 'view_project_project_filter') + search_view = data_obj.read(cr, uid, search_view_id, ['res_id']) + return { + 'name': _('Projects'), + 'view_type': 'form', + 'view_mode': 'form,tree', + 'res_model': 'project.project', + 'view_id': False, + 'res_id' : res_id, + 'views': [(form_view['res_id'],'form'),(tree_view['res_id'],'tree')], + 'type': 'ir.actions.act_window', + 'search_view_id': search_view['res_id'], + 'nodestroy': True + } +# return result # set active value for a project, its sub projects and its tasks def setActive(self, cr, uid, ids, value=True, context={}): diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 47cdefe3cee..91568f953ab 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -49,9 +49,13 @@