From 36b13c4073fb3341599c7245cf8b38de3bc26f83 Mon Sep 17 00:00:00 2001 From: "pap (openerp)" Date: Thu, 1 Jul 2010 11:20:01 +0530 Subject: [PATCH 1/2] [FIX]:fixed functional and technical bugs in project and project_* modules listed on piratepad bzr revid: pap@tinyerp.co.in-20100701055001-l4jbm62h1zf2s1bz --- addons/project/project.py | 14 ++++----- addons/project/project_view.xml | 11 ++++--- addons/project/report/project_report_view.xml | 4 +-- .../wizard/project_gtd_daily_view.xml | 12 ++++--- .../wizard/project_gtd_empty_view.xml | 9 +++--- addons/project_issue/project_issue_view.xml | 2 ++ .../report/project_issue_report_view.xml | 2 +- .../project_long_term_view.xml | 31 +++++++++---------- 8 files changed, 44 insertions(+), 41 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index c5c389e5510..12415923bd3 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -206,6 +206,7 @@ class project(osv.osv): result = [] for proj in self.browse(cr, uid, ids, context=context): parent_id = context.get('parent_id',False) # check me where to pass context for parent id ?? + context['analytic_project_copy'] = True new_id = project_obj.copy(cr, uid, proj.id, default = { 'name': proj.name +_(' (copy)'), 'state':'open', @@ -213,13 +214,10 @@ class project(osv.osv): result.append(new_id) cr.execute('select id from project_task where project_id=%s', (proj.id,)) res = cr.fetchall() - for (tasks_id,) in res: - task_obj.copy(cr, uid, tasks_id, default = { - 'project_id': new_id, - 'active':True}, context=context) - child_ids = self.search(cr, uid, [('parent_id','=', proj.id)], context=context) + child_ids = self.search(cr, uid, [('parent_id','=', proj.category_id.id)], context=context) + parent_id = self.read(cr, uid, new_id, ['category_id'])['category_id'][0] if child_ids: - self.duplicate_template(cr, uid, child_ids, context={'parent_id': new_id}) + self.duplicate_template(cr, uid, child_ids, context={'parent_id': parent_id}) if result and len(result): res_id = result[0] @@ -263,7 +261,7 @@ class task(osv.osv): _description = "Task" _log_create = True _date_name = "date_start" - + def _str_get(self, task, level=0, border='***', context={}): return border+' '+(task.user_id and task.user_id.name.upper() or '')+(level and (': L'+str(level)) or '')+(' - %.1fh / %.1fh'%(task.effective_hours or 0.0,task.planned_hours))+' '+border+'\n'+ \ border[0]+' '+(task.name or '')+'\n'+ \ @@ -316,7 +314,7 @@ class task(osv.osv): 'description': fields.text('Description'), 'priority' : fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Urgent'), ('0','Very urgent')], 'Importance'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."), - 'type': fields.many2one('project.task.type', 'Stage'), + 'type': fields.many2one('project.task.type', 'Stage',), 'state': fields.selection([('draft', 'Draft'),('open', 'In Progress'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True, help='If the task is created the state \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\ \n If the task is over, the states is set to \'Done\'.'), diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 7b299cdcccc..ef7bb92d1d6 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -39,8 +39,8 @@ - + @@ -55,11 +55,10 @@