- 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)]
- return {
- 'type': 'ir.actions.act_window',
- 'name': _('Expenses'),
- '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
-