diff --git a/addons/project/project.py b/addons/project/project.py index 6389c75c6f9..57eea1d3ff7 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -912,7 +912,7 @@ class task(osv.osv): _constraints = [ (_check_recursion, 'Error ! You cannot create recursive tasks.', ['parent_ids']), - (_check_dates, 'Error ! Task end-date must be greater then task start-date', ['date_start','date_end']) + (_check_dates, 'Error ! Task starting date must be lower then its ending date.', ['date_start','date_end']) ] # Override view according to the company definition diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index a3c942b7f4f..c69e483f00c 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -476,7 +476,7 @@

- Assign dates to make this task appear in the gantt chart ( icon on the top right) + Assign dates to make this task appear in the gantt chart ( icon on the top right)

diff --git a/addons/project/wizard/project_task_delegate.py b/addons/project/wizard/project_task_delegate.py index 97359320000..b56b6e425ff 100644 --- a/addons/project/wizard/project_task_delegate.py +++ b/addons/project/wizard/project_task_delegate.py @@ -34,7 +34,7 @@ class project_task_delegate(osv.osv_memory): 'prefix': fields.char('Your Task Title', help="Title for your validation task"), 'project_id': fields.many2one('project.project', 'Project', help="User you want to delegate this task to"), 'user_id': fields.many2one('res.users', 'Assign To', required=True, help="User you want to delegate this task to"), - 'new_task_description': fields.text('New Task Description', help="Reinclude the description of the task in the task of the user"), + 'new_task_description': fields.html('New Task Description', help="Reinclude the description of the task in the task of the user"), 'planned_hours': fields.float('Planned Hours', help="Estimated time to close this task by the delegated user"), 'planned_hours_me': fields.float('Hours to Validate', help="Estimated time for you to validate the work done by the user to whom you delegate this task"), 'state': fields.selection([('pending','Pending'), ('done','Done'), ], 'Validation State', help="New state of your own task. Pending will be reopened automatically when the delegated task is closed") diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 048fb773e0a..0dc3e0a5925 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -196,7 +196,8 @@ class project_issue(osv.Model): def _can_escalate(self, cr, uid, ids, field_name, arg, context=None): res = {} for issue in self.browse(cr, uid, ids, context=context): - if issue.project_id.parent_id.type == 'contract': + esc_proj = issue.project_id.project_escalation_id + if esc_proj and esc_proj.analytic_account_id.type == 'contract': res[issue.id] = True return res @@ -260,7 +261,8 @@ class project_issue(osv.Model): domain="[('project_ids', '=', project_id)]", copy=False), 'project_id': fields.many2one('project.project', 'Project', track_visibility='onchange', select=True), 'duration': fields.float('Duration'), - 'task_id': fields.many2one('project.task', 'Task', domain="[('project_id','=',project_id)]"), + 'task_id': fields.many2one('project.task', 'Task', domain="[('project_id','=',project_id)]", + help="You can link this issue to an existing task or directly create a new one from here"), 'day_open': fields.function(_compute_day, string='Days to Assign', multi='compute_day', type="float", store={'project.issue': (lambda self, cr, uid, ids, c={}: ids, ['date_open'], 10)}), diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index ea943d90357..8ddf020de86 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -80,7 +80,6 @@
- - - - - + - + - + diff --git a/addons/sale_service/__openerp__.py b/addons/sale_service/__openerp__.py index 411dcf6598a..94598e37636 100644 --- a/addons/sale_service/__openerp__.py +++ b/addons/sale_service/__openerp__.py @@ -21,7 +21,7 @@ { - 'name': 'Create Tasks on SO', + 'name': 'Create Tasks from SO', 'version': '1.0', 'category': 'Project Management', 'description': """ @@ -33,10 +33,9 @@ This module will automatically create a new task for each procurement order line characteristics: * Product Type = Service - * Procurement Method (Order fulfillment) = MTO (Make to Order) - * Supply/Procurement Method = Manufacture + * Create Task Automatically = True -If on top of that a projet is specified on the product form (in the Procurement +If on top of that a project is specified on the product form (in the Procurement tab), then the new task will be created in that specific project. Otherwise, the new task will not belong to any project, and may be added to a project manually later. diff --git a/addons/sale_stock/sale_stock_view.xml b/addons/sale_stock/sale_stock_view.xml index e3f0ab36bc5..f1a68f78834 100644 --- a/addons/sale_stock/sale_stock_view.xml +++ b/addons/sale_stock/sale_stock_view.xml @@ -39,8 +39,11 @@ groups="base.group_user" on_change="product_id_change_with_wh(parent.pricelist_id,product_id,product_uom_qty,False,product_uos_qty,False,name,parent.partner_id, False, True, parent.date_order, product_packaging, parent.fiscal_position, False, parent.warehouse_id, context)"/> - - product_id_change_with_wh(parent.pricelist_id,product_id,product_uom_qty,False,product_uos_qty,False,name,parent.partner_id, False, True, parent.date_order, product_packaging, parent.fiscal_position, False, parent.warehouse_id, context) + + product_id_change_with_wh(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,False,name,parent.partner_id, False, False, parent.date_order, product_packaging, parent.fiscal_position, True, parent.warehouse_id, context)