Project report active/inactive filter, timefloat widget updated
This commit is contained in:
parent
75552a8e0e
commit
a80fb103e1
|
@ -35,6 +35,7 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
actual_cost = fields.Float("Actual Cost", digits=(16, 2), readonly=True, group_operator="sum")
|
||||
overall_budgeted_revenue = fields.Float("Overall Budgeted Rev.", digits=(16, 2), readonly=True, group_operator="sum")
|
||||
overall_hourly_rate = fields.Float("Overall Hourly Rate", digits=(16, 2), group_operator="sum")
|
||||
project_active = fields.Boolean('Active')
|
||||
|
||||
|
||||
def init(self):
|
||||
|
@ -43,7 +44,8 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
self._cr.execute("""
|
||||
CREATE OR REPLACE VIEW %s AS (
|
||||
SELECT ROW_NUMBER() OVER() as id,
|
||||
project_id,
|
||||
project_id,
|
||||
project_active,
|
||||
parentproject as parent_project,
|
||||
project_type,
|
||||
pricing_type,
|
||||
|
@ -64,6 +66,7 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
timesheet_sdatetime
|
||||
from (
|
||||
select pro.id AS project_id,
|
||||
pro.active as project_active,
|
||||
(select project_id from project_subproject_rel as par where pro.id=par.id limit 1) as parentproject,
|
||||
pro.partner_id AS partner_id,
|
||||
pro.project_type AS project_type,
|
||||
|
@ -85,10 +88,11 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
FROM project_project PRO
|
||||
RIGHT JOIN account_analytic_account AA ON PRO.analytic_account_id = AA.id
|
||||
RIGHT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id
|
||||
WHERE PRO.active = 't' and PRO.pricing_type = 'fixed_rate'
|
||||
WHERE PRO.pricing_type = 'fixed_rate'
|
||||
UNION
|
||||
select
|
||||
pro.id AS project_id,
|
||||
pro.active as project_active,
|
||||
(select project_id from project_subproject_rel as par where pro.id=par.id limit 1) as parentproject,
|
||||
pro.partner_id AS partner_id,
|
||||
pro.project_type AS project_type,
|
||||
|
@ -108,10 +112,11 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
0.0 AS profit_per,
|
||||
null::timestamp as timesheet_sdatetime
|
||||
FROM project_project PRO
|
||||
WHERE PRO.active = 't' and PRO.pricing_type = 'employee_rate' and PRO.project_type='hours_no_limit'
|
||||
WHERE PRO.pricing_type = 'employee_rate' and PRO.project_type='hours_no_limit'
|
||||
UNION
|
||||
select
|
||||
pro.id AS project_id,
|
||||
pro.active as project_active,
|
||||
(select project_id from project_subproject_rel as par where pro.id=par.id limit 1) as parentproject,
|
||||
pro.partner_id AS partner_id,
|
||||
pro.project_type AS project_type,
|
||||
|
@ -133,10 +138,11 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
FROM project_project PRO
|
||||
RIGHT JOIN account_analytic_account AA ON PRO.analytic_account_id = AA.id
|
||||
RIGHT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id
|
||||
WHERE PRO.active = 't' and PRO.pricing_type = 'employee_rate' and PRO.project_type='hours_no_limit'
|
||||
WHERE PRO.pricing_type = 'employee_rate' and PRO.project_type='hours_no_limit'
|
||||
UNION
|
||||
select
|
||||
pro.id AS project_id,
|
||||
pro.active as project_active,
|
||||
(select project_id from project_subproject_rel as par where pro.id=par.id limit 1) as parentproject,
|
||||
pro.partner_id AS partner_id,
|
||||
pro.project_type AS project_type,
|
||||
|
@ -159,10 +165,11 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
Left JOIN project_sale_line_employee_map pro_emp ON pro_emp.project_id = pro.id
|
||||
LEFT JOIN account_analytic_account AA ON PRO.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id and AAL.employee_id = pro_emp.employee_id
|
||||
WHERE PRO.active = 't' and PRO.pricing_type='employee_rate' and PRO.project_type='hours_in_consultant'
|
||||
WHERE PRO.pricing_type='employee_rate' and PRO.project_type='hours_in_consultant'
|
||||
UNION
|
||||
select
|
||||
pro.id AS project_id,
|
||||
pro.active as project_active,
|
||||
(select project_id from project_subproject_rel as par where pro.id=par.id limit 1) as parentproject,
|
||||
pro.partner_id AS partner_id,
|
||||
pro.project_type AS project_type,
|
||||
|
@ -182,10 +189,11 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
0.0 as profit_per,
|
||||
null::timestamp as timesheet_sdatetime
|
||||
FROM project_project PRO
|
||||
WHERE PRO.active = 't' and PRO.pricing_type='employee_rate' and PRO.project_type='hours_in_consultant'
|
||||
WHERE PRO.pricing_type='employee_rate' and PRO.project_type='hours_in_consultant'
|
||||
UNION
|
||||
select
|
||||
pro.id AS project_id,
|
||||
pro.active as project_active,
|
||||
(select project_id from project_subproject_rel as par where pro.id=par.id limit 1) as parentproject,
|
||||
pro.partner_id AS partner_id,
|
||||
pro.project_type AS project_type,
|
||||
|
@ -211,7 +219,7 @@ class ProjectRevenueCustomReport2(models.Model):
|
|||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id
|
||||
Left JOIN project_sale_line_employee_map pro_emp ON pro_emp.project_id = pro.id and AAL.employee_id = pro_emp.employee_id
|
||||
LEFT JOIN hr_employee EMP ON AAL.employee_id = EMP.id
|
||||
WHERE PRO.active = 't' and PRO.pricing_type='employee_rate' and PRO.project_type='hours_in_consultant'
|
||||
WHERE PRO.pricing_type='employee_rate' and PRO.project_type='hours_in_consultant'
|
||||
) res
|
||||
)""" % (self._table,))
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<field name="expenses_amt" type="measure"/>
|
||||
<field name="profit_amt" type="measure"/>
|
||||
<field name="profit_per" type="measure"/>
|
||||
<field name="unit_amount" type="measure"/>
|
||||
<field name="unit_amount" widget="float_time" type="measure"/>
|
||||
<field name="timesheet_cost" type="measure"/>
|
||||
</pivot>
|
||||
</field>
|
||||
|
@ -50,7 +50,7 @@
|
|||
<field name="pro_hourly_rate"/>
|
||||
<field name="profit_amt"/>
|
||||
<field name="profit_per"/>
|
||||
<field name="unit_amount"/>
|
||||
<field name="unit_amount" widget="float_time"/>
|
||||
<field name="timesheet_cost"/>
|
||||
<field name="timesheet_sdatetime"/>
|
||||
<field name="parent_project" optional="hide"/>
|
||||
|
@ -72,11 +72,18 @@
|
|||
<filter string="Total hours are budgeted without division to consultant" name="limit" domain="[('pricing_type','=','employee_rate'),('project_type','=','hours_no_limit')]"/>
|
||||
<filter string="Not Fixed rate" name="notfixed" domain="[('pricing_type','!=','fixed_rate')]"/>
|
||||
<filter string="Timesheet Date" name="filter_date_from" date="timesheet_sdatetime"/>
|
||||
<filter string="Active" name="active_project" domain="[('project_active','=',True)]"/>
|
||||
<filter string="Archived" name="active_project" domain="[('project_active','=',False)]"/>
|
||||
<group expand="1" string="Group By">
|
||||
<filter string="Project" name="group_project" context="{'group_by':'project_id'}"/>
|
||||
<filter string="Consultant" name="group_employee" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Client" name="group_partner_id" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Timesheet Date" name="group_t_starttime" domain="[]" context="{'group_by':'timesheet_sdatetime:month'}"/>
|
||||
<filter string="Budgeted Hours" name="budgethrs"
|
||||
domain="[('timesheet_sdatetime','=',False)]"/>
|
||||
<filter string="Current Year" name="currentyear"
|
||||
domain="[('timesheet_sdatetime','<=', time.strftime('%%Y-12-31')),('timesheet_sdatetime','>=',time.strftime('%%Y-01-01'))]"/>
|
||||
<filter string="Last Year" name="lyear" domain="[('timesheet_sdatetime','>=',(context_today()-relativedelta(years=1)).strftime('%%Y-01-01')),('timesheet_sdatetime','<', time.strftime('%%Y-01-01'))]"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
|
Loading…
Reference in New Issue