diff --git a/addons/project/project.py b/addons/project/project.py index a6c703657d0..bdf7e30837e 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -47,6 +47,8 @@ class project(osv.osv): _inherits = {'account.analytic.account':"category_id"} def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False): + if context is None: + context = {} if user == 1: return super(project, self).search(cr, user, args, offset=offset, limit=limit, order=order, context=context, count=count) if context and context.has_key('user_prefence') and context['user_prefence']: @@ -266,13 +268,11 @@ class task(osv.osv): hours = dict(cr.fetchall()) for task in self.browse(cr, uid, ids, context=context): res[task.id] = {'effective_hours': hours.get(task.id, 0.0), 'total_hours': task.remaining_hours + hours.get(task.id, 0.0)} + res[task.id]['progress'] = 0.0 if (task.remaining_hours + hours.get(task.id, 0.0)): - if task.state =='done': - res[task.id]['progress'] = 100.0 - else: + if task.state != 'done': res[task.id]['progress'] = round(min(100.0 * hours.get(task.id, 0.0) / res[task.id]['total_hours'], 99.99),2) - else: - res[task.id]['progress'] = 0.0 + if task.state in ('done','cancel'): res[task.id]['progress'] = 100.0 res[task.id]['delay_hours'] = res[task.id]['total_hours'] - task.planned_hours @@ -559,6 +559,8 @@ class config_compute_remaining(osv.osv_memory): } def compute_hours(self, cr, uid, ids, context=None): + if context is None: + context = {} task_obj = self.pool.get('project.task') request = self.pool.get('res.request') if 'active_id' in context: diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index 513bae085bd..982d1688014 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -31,8 +31,10 @@ 'author': 'Tiny', 'website': 'http://www.openerp.com', 'depends': [ + 'crm', 'project', 'hr_timesheet_sheet', + 'project_long_term', ], 'init_xml': [ 'project_issue_data.xml' diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index f67986526cd..b67ef6a849a 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -113,7 +113,6 @@ class project_issue(osv.osv, crm.crm_case): 'thread_id': fields.many2one('mailgate.thread', 'Thread', required=False), 'id': fields.integer('ID'), 'name': fields.char('Name', size=128, required=True), - 'active': fields.boolean('Active', required=False), 'create_date': fields.datetime('Creation Date' , readonly=True), 'write_date': fields.datetime('Update Date' , readonly=True), 'date_deadline': fields.date('Deadline'), @@ -173,7 +172,6 @@ class project_issue(osv.osv, crm.crm_case): return False _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, diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index 8b2b14c1cb7..27b72e459ef 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -82,11 +82,8 @@ - - - @@ -143,6 +140,7 @@ + @@ -155,6 +153,7 @@ states="open,draft,pending,done,cancel" /> +