diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 89e39c71660..a187f9452f5 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -206,14 +206,17 @@ class account_analytic_account(osv.osv): return res if child_ids: - #Search all invoice lines not in cancelled state that refer to this analytic account - inv_line_obj = self.pool.get("account.invoice.line") - inv_lines = inv_line_obj.search(cr, uid, ['&', ('account_analytic_id', 'in', child_ids), ('invoice_id.state', '!=', 'cancel')], context=context) - for line in inv_line_obj.browse(cr, uid, inv_lines, context=context): - res[line.account_analytic_id.id] += line.price_subtotal + cr.execute("SELECT account_analytic_line.account_id, COALESCE(SUM(amount), 0.0) \ + FROM account_analytic_line \ + JOIN account_analytic_journal \ + ON account_analytic_line.journal_id = account_analytic_journal.id \ + WHERE account_analytic_line.account_id IN %s \ + AND account_analytic_journal.type = 'sale' \ + GROUP BY account_analytic_line.account_id", (child_ids,)) + for account_id, sum in cr.fetchall(): + res[account_id] = round(sum,2) for acc in self.browse(cr, uid, res.keys(), context=context): res[acc.id] = res[acc.id] - (acc.timesheet_ca_invoiced or 0.0) - res_final = res return res_final @@ -540,23 +543,6 @@ class account_analytic_account(osv.osv): pass return result - - def hr_to_invoice_timesheets(self, cr, uid, ids, context=None): - domain = [('invoice_id','=',False),('to_invoice','!=',False), ('journal_id.type', '=', 'general'), ('account_id', 'in', ids)] - names = [record.name for record in self.browse(cr, uid, ids, context=context)] - name = _('Timesheets 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, - } - - - class account_analytic_account_summary_user(osv.osv): _name = "account_analytic_analysis.summary.user" _description = "Hours Summary by User" diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index c70a2493be9..8d7a89e4622 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -98,8 +98,8 @@ -