From b9744fc4d95a162870fc921fb4ae71f25e1d2bac Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 18 Jun 2012 17:54:47 +0200 Subject: [PATCH] [FIX] contract management: shortcut buttons on contract form view bzr revid: qdp-launchpad@openerp.com-20120618155447-26rt90uvml410rwu --- .../account_analytic_analysis.py | 4 +- .../analytic_contract_hr_expense.py | 40 +++++++++---------- .../analytic_contract_hr_expense_view.xml | 2 +- .../report/report_analytic_view.xml | 4 +- addons/sale/sale_view.xml | 1 + 5 files changed, 25 insertions(+), 26 deletions(-) diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 2a5dfa71cd8..a983a2022ea 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -467,9 +467,11 @@ class account_analytic_account(osv.osv): if context is None: context = {} sale_ids = self.pool.get('sale.order').search(cr,uid,[('project_id','=',context.get('search_default_project_id',False)),('partner_id','=',context.get('search_default_partner_id',False))]) + names = [record.name for record in self.browse(cr, uid, ids, context=context)] + name = _('Sale Order Lines of %s') % ','.join(names) return { 'type': 'ir.actions.act_window', - 'name': _('Sale Order Lines'), + 'name': name, 'view_type': 'form', 'view_mode': 'tree,form', 'context': context, diff --git a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py index a99c89df4c2..6baa857c0f6 100644 --- a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py +++ b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py @@ -127,37 +127,33 @@ class account_analytic_account(osv.osv): return res def open_hr_expense(self, cr, uid, ids, context=None): - account = self.browse(cr, uid, ids[0], context) - data_obj = self.pool.get('ir.model.data') - try: - journal_id = data_obj.get_object(cr, uid, 'hr_timesheet', 'analytic_journal').id - except ValueError: - journal_id = False - line_ids = self.pool.get('hr.expense.line').search(cr,uid,[('analytic_account','=',account.id)]) - id2 = data_obj._get_id(cr, uid, 'hr_expense', 'view_expenses_form') - id3 = data_obj._get_id(cr, uid, 'hr_expense', 'view_expenses_tree') - if id2: - id2 = data_obj.browse(cr, uid, id2, context=context).res_id - if id3: - id3 = data_obj.browse(cr, uid, id3, context=context).res_id - domain = [('line_ids','in',line_ids)] + line_ids = self.pool.get('hr.expense.line').search(cr,uid,[('analytic_account', 'in', ids)]) + domain = [('line_ids', 'in', line_ids)] + names = [record.name for record in self.browse(cr, uid, ids, context=context)] + name = _('Expenses of %s') % ','.join(names) return { 'type': 'ir.actions.act_window', - 'name': _('Expenses'), + 'name': name, 'view_type': 'form', 'view_mode': 'tree,form', - 'views': [(id3,'tree'),(id2,'form')], 'domain' : domain, 'res_model': 'hr.expense.expense', 'nodestroy': True, } - def hr_to_invoiced_expense(self, cr, uid, ids, context=None): - res = self.open_hr_expense(cr,uid,ids,context) - account = self.browse(cr, uid, ids[0], context) - line_ids = self.pool.get('hr.expense.line').search(cr,uid,[('analytic_account','=',account.id)]) - res['domain'] = [('line_ids','in',line_ids),('state','=','invoiced')] - return res + def hr_to_invoice_expense(self, cr, uid, ids, context=None): + domain = [('invoice_id','=',False),('to_invoice','!=',False), ('journal_id.type', '=', 'purchase'), ('account_id', 'in', ids)] + names = [record.name for record in self.browse(cr, uid, ids, context=context)] + name = _('Expenses to Invoice of %s') % ','.join(names) + return { + 'type': 'ir.actions.act_window', + 'name': name, + 'view_type': 'form', + 'view_mode': 'tree,form', + 'domain' : domain, + 'res_model': 'account.analytic.line', + 'nodestroy': True, + } account_analytic_account() diff --git a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml index bf46941b91e..9c816b0a9d1 100644 --- a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml +++ b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml @@ -23,7 +23,7 @@