diff --git a/addons/project/project.py b/addons/project/project.py index 3dc09a50c5c..823a87edf0a 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -31,6 +31,13 @@ class project(osv.osv): _name = "project.project" _description = "Project" + def _complete_name(self, cr, uid, ids, name, args, context): + res = {} + for m in self.browse(cr, uid, ids, context=context): + res[m.id] = (res.parent_id and (res.parent_id.complete_name + '/') or '') + res.name + return res + + def check_recursion(self, cursor, user, ids, parent=None): return super(project, self).check_recursion(cursor, user, ids, parent=parent) @@ -81,6 +88,7 @@ class project(osv.osv): return super(project, self).unlink(cr, uid, ids, *args, **kwargs) _columns = { 'name': fields.char("Project Name", size=128, required=True), + 'complete_name': fields.function(_complete_name, method=True, string="Project Name", type='char', size=128), 'active': fields.boolean('Active'), 'category_id': fields.many2one('account.analytic.account','Analytic Account', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc."), 'priority': fields.integer('Sequence'), @@ -115,7 +123,7 @@ class project(osv.osv): 'state': lambda *a: 'open' } - _order = "priority" + _order = "parent_id,priority,name" _constraints = [ (check_recursion, 'Error ! You can not create recursive projects.', ['parent_id']) ] diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 627f69286e2..1bd26880d88 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -73,6 +73,24 @@ + + project.project.list + project.project + tree + + + + + + + + + + + + + + project.project.tree project.project diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 8a05dae4840..a0fe7710b2a 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -313,7 +313,7 @@ class sale_order(osv.osv): val = {'partner_invoice_id': addr['invoice'], 'partner_order_id':addr['contact'], 'partner_shipping_id':addr['delivery'], 'payment_term' : payment_term, 'fiscal_position': fiscal_position} if pricelist: val['pricelist_id'] = pricelist - return {'value':} + return {'value':val} def shipping_policy_change(self, cr, uid, ids, policy, context={}): if not policy: