From 84c1940f7bf4c06a731f81bcff828ec45e85ab91 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Mon, 5 Apr 2010 14:14:37 +0530 Subject: [PATCH] [ADD] Project: Osv memory wizard convert (Close Task) bzr revid: mra@tinyerp.com-20100405084437-7309p0p0p1lg9g0m --- addons/project/__terp__.py | 3 +- addons/project/project.py | 19 +++ addons/project/project_view.xml | 6 +- addons/project/project_wizard.xml | 2 +- addons/project/wizard/__init__.py | 2 +- addons/project/wizard/close_task.py | 114 ------------------ addons/project/wizard/project_close_task.py | 87 +++++++++++++ .../wizard/project_close_task_view.xml | 34 ++++++ 8 files changed, 148 insertions(+), 119 deletions(-) delete mode 100644 addons/project/wizard/close_task.py create mode 100644 addons/project/wizard/project_close_task.py create mode 100644 addons/project/wizard/project_close_task_view.xml diff --git a/addons/project/__terp__.py b/addons/project/__terp__.py index 2af0ba122bf..65e3c58fb5e 100644 --- a/addons/project/__terp__.py +++ b/addons/project/__terp__.py @@ -40,7 +40,8 @@ works done on tasks, eso. It is able to render planning, order tasks, eso. "project_report.xml", "process/task_process.xml", "project_installer.xml", - "report/project_report_view.xml" + "report/project_report_view.xml", + "wizard/project_close_task_view.xml", ], 'demo_xml': [ 'project_demo.xml' diff --git a/addons/project/project.py b/addons/project/project.py index 0c6cc839f6d..278646e097a 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -358,6 +358,8 @@ class task(osv.osv): return res def do_close(self, cr, uid, ids, *args): + mail_send = False + mod_obj = self.pool.get('ir.model.data') request = self.pool.get('res.request') tasks = self.browse(cr, uid, ids) for task in tasks: @@ -373,6 +375,9 @@ class task(osv.osv): 'ref_doc1': 'project.task,%d'% (task.id,), 'ref_doc2': 'project.project,%d'% (project.id,), }) + elif project.warn_manager: + task_id = ids[0] + mail_send = True self.write(cr, uid, [task.id], {'state': 'done', 'date_end':time.strftime('%Y-%m-%d %H:%M:%S'), 'remaining_hours': 0.0}) for parent_id in task.parent_ids: if parent_id.state in ('pending','draft'): @@ -382,6 +387,20 @@ class task(osv.osv): reopen = False if reopen: self.do_reopen(cr, uid, [parent_id.id]) + if mail_send: + model_data_ids = mod_obj.search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_project_close_task')]) + resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id'] + return { + 'name': _('Email Send to Customer'), + 'view_type': 'form', + 'context': {'task_id': task_id,}, # improve me + 'view_mode': 'tree,form', + 'res_model': 'close.task', + 'views': [(resource_id,'form')], + 'type': 'ir.actions.act_window', + 'target': 'new', + 'nodestroy': True + } return True def do_reopen(self, cr, uid, ids, *args): diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index b910515c950..47cdefe3cee 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -271,7 +271,8 @@