From 684acf646c99fec86cd00c50a3875480f524686b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 4 Dec 2015 15:50:38 +0100 Subject: [PATCH] [CLEAN] project: dead / unnecessary code Removed unnecessary imports Removed duplicated _order Cleaned kanban state update in write to avoid useless loops. Indeed when updating the stage the kanban state is reset, if the new stage is different from the old stage. Now in every case the kanban state is reset. This is already the case in issue and does not seem to frustrate users. --- addons/project/project.py | 17 +++++------------ addons/project_issue/project_issue.py | 12 ++++-------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 003eec288fd..46ba4ba1e5f 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -50,7 +50,6 @@ class project_task_type(osv.osv): 'sequence': 1, 'project_ids': _get_default_project_ids, } - _order = 'sequence' class project(osv.osv): @@ -655,18 +654,12 @@ class task(osv.osv): # user_id change: update date_assign if vals.get('user_id'): vals['date_assign'] = fields.datetime.now() + # reset kanban state when changing stage + if 'stage_id' in vals: + if 'kanban_state' not in vals: + vals['kanban_state'] = 'normal' - # Overridden to reset the kanban_state to normal whenever - # the stage (stage_id) of the task changes. - if vals and not 'kanban_state' in vals and 'stage_id' in vals: - new_stage = vals.get('stage_id') - vals_reset_kstate = dict(vals, kanban_state='normal') - for t in self.browse(cr, uid, ids, context=context): - write_vals = vals_reset_kstate if t.stage_id.id != new_stage else vals - super(task, self).write(cr, uid, [t.id], write_vals, context=context) - result = True - else: - result = super(task, self).write(cr, uid, ids, vals, context=context) + result = super(task, self).write(cr, uid, ids, vals, context=context) if any(item in vals for item in ['stage_id', 'remaining_hours', 'user_id', 'kanban_state']): self._store_history(cr, uid, ids, context=context) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 1a0046bacf7..7e3698e9f05 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -1,20 +1,16 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import calendar -from datetime import datetime,date -from dateutil import relativedelta -import json -import time +from datetime import datetime + from openerp import api from openerp import SUPERUSER_ID from openerp import tools -from openerp.osv import fields, osv, orm +from openerp.exceptions import UserError, AccessError +from openerp.osv import fields, osv from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT -from openerp.tools import html2plaintext from openerp.tools.safe_eval import safe_eval as eval from openerp.tools.translate import _ -from openerp.exceptions import UserError, AccessError class project_issue(osv.Model):