diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index cc05092688b..b495bc1dbca 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -8,11 +8,10 @@ tree - + - @@ -57,11 +56,10 @@ tree child_complete_ids - + - @@ -85,7 +83,7 @@ - + @@ -194,7 +192,7 @@ - + diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 36d62e32e63..2043c054420 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -406,25 +406,25 @@ class account_analytic_account(osv.osv): 'ca_theorical': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Theoretical Revenue', help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.", digits_compute=dp.get_precision('Account')), - 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Hours Tot', - help="Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type 'general'."), + 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Duration', + help="Number of time you spent on the analytic account (from timesheet). It computes quantities on all journal of type 'general'."), 'last_invoice_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Last Invoice Date', help="If invoice from the costs, this is the date of the latest invoiced."), 'last_worked_invoiced_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Invoiced Cost', help="If invoice from the costs, this is the date of the latest work or cost that have been invoiced."), 'last_worked_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Cost/Work', help="Date of the latest work done on this account."), - 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Hours', - help="Number of hours (from journal of type 'general') that can be invoiced if you invoice based on analytic account."), - 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Hours', - help="Number of hours that can be invoiced plus those that already have been invoiced."), - 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Hours', - help="Computed using the formula: Maximum Quantity - Hours Tot."), + 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Time', + help="Number of time (hours/days) (from journal of type 'general') that can be invoiced if you invoice based on analytic account."), + 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Time', + help="Number of time (hours/days) that can be invoiced plus those that already have been invoiced."), + 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Time', + help="Computed using the formula: Maximum Duration - Total Time"), 'remaining_ca': fields.function(_remaining_ca_calc, type='float', string='Remaining Revenue', help="Computed using the formula: Max Invoice Price - Invoiced Amount.", digits_compute=dp.get_precision('Account')), - 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Hours (real)', - help="Computed using the formula: Invoiced Amount / Hours Tot.", + 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Time (real)', + help="Computed using the formula: Invoiced Amount / Total Duration", digits_compute=dp.get_precision('Account')), 'real_margin': fields.function(_real_margin_calc, type='float', string='Real Margin', help="Computed using the formula: Invoiced Amount - Total Costs.", diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index c59717e8ad4..bae5a8b770c 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -117,8 +117,8 @@ - + diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 114653d473e..6827a139c8b 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -161,7 +161,7 @@ class account_analytic_account(osv.osv): 'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'), - 'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'), + 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of quantity of hours.'), 'partner_id': fields.many2one('res.partner', 'Partner'), 'contact_id': fields.many2one('res.partner.address', 'Contact'), 'user_id': fields.many2one('res.users', 'Account Manager'), diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml index de6d77a2fd9..7102691b47b 100644 --- a/addons/project_timesheet/project_timesheet_view.xml +++ b/addons/project_timesheet/project_timesheet_view.xml @@ -108,6 +108,20 @@ the project form. - + + + + Customer Projects + account.analytic.account + form + tree,form,graph + {'search_default_has_partner':1, 'search_default_my_accounts':1, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1} + [('type','=','normal')] + + You will find here the contracts related to your customer projects in order to track the invoicing progress. + + +