1 <?xml version="1.0" encoding="utf-8"?>
4 <menuitem id="base.menu_project_report" name="Reporting" parent="base.menu_main_pm" sequence="50"/>
6 <record id="view_task_project_user_tree" model="ir.ui.view">
7 <field name="name">report.project.task.user.tree</field>
8 <field name="model">report.project.task.user</field>
9 <field name="type">tree</field>
10 <field name="arch" type="xml">
13 <field name="project_id" invisible="1"/>
14 <field name="user_id" invisible="1"/>
15 <field name="date_deadline" invisible="1"/>
16 <field name="state" invisible="1"/>
17 <field name="date_start" invisible="1"/>
18 <field name="date_end" invisible="1"/>
19 <field name="company_id" invisible="1" groups="base.group_multi_company"/>
20 <field name="partner_id" invisible="1"/>
21 <field name="type" invisible="1"/>
22 <field name="day" invisible="1"/>
23 <field name="month" invisible="1"/>
24 <field name="year" invisible="1"/>
25 <field name="nbr" sum='#Number of tasks'/>
26 <field name="no_of_days" sum="#Days"/>
27 <field name="hours_planned" sum='Planned Hours'/>
28 <field name="hours_effective" sum='Effective Hours'/>
29 <field name="hours_delay" sum='Avg. Plan.-Eff.'/>
30 <field name="closing_days" sum='Avg Closing Delay'/>
35 <record id="view_task_project_user_graph" model="ir.ui.view">
36 <field name="name">report.project.task.user.graph</field>
37 <field name="model">report.project.task.user</field>
38 <field name="type">graph</field>
39 <field name="arch" type="xml">
40 <graph string="Tasks" type="bar">
42 <field name="state" group="True"/>
43 <field name="no_of_days" operator="+"/>
48 <record id="view_task_project_user_search" model="ir.ui.view">
49 <field name="name">report.project.task.user.search</field>
50 <field name="model">report.project.task.user</field>
51 <field name="type">search</field>
52 <field name="arch" type="xml">
53 <search string="Tasks">
56 icon="gtk-media-rewind"
58 domain="[('date_start','<=', time.strftime('%%Y-%%m-%%d')),('date_start','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
59 help="Tasks performed in last 365 Days"/>
61 icon="gtk-media-rewind"
64 domain="[('date_start','<=', time.strftime('%%Y-%%m-%%d')), ('date_start','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
65 help="Tasks performed in last 30 days"/>
66 <filter icon="gtk-media-rewind"
69 domain="[('date_start','<=', time.strftime('%%Y-%%m-%%d')), ('date_start','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
70 help="Tasks during last 7 days"/>
71 <separator orientation="vertical"/>
72 <filter string="Draft"
74 domain="[('state','=','draft')]"
75 help = "Draft tasks"/>
76 <filter string="Current"
78 domain="[('state', '=' ,'open')]"
79 help = "In progress tasks"/>
80 <filter string="Pending"
82 domain="[('state','=','pending')]"
83 help = "Pending tasks"/>
87 domain="[('state','=','done')]"/>
88 <separator orientation="vertical"/>
89 <field name="user_id" widget="selection">
90 <filter icon="terp-project"
91 string="Non Assigned Tasks to users"
92 help="Non Assigned Tasks to users"
93 domain="[('user_id','=',False)]"/>
95 <field name="project_id" widget="selection">
96 <filter icon="terp-project"
99 domain="[('project_id','=',context.get('project_id', False)]"/>
100 <filter icon="terp-project"
101 string="Non assigned tasks to projects"
102 help ="Non assigned tasks to projects"
103 domain="[('project_id','=',False"/>
107 <group expand="0" string="Extended options..." col="12">
108 <field name="type" widget="selection"/>
109 <field name="priority"/>
110 <field name="partner_id" />
111 <field name="company_id" groups="base.group_multi_company"/>
113 <field name="date_deadline"/>
114 <field name="date_start"/>
115 <field name="date_end"/>
118 <group expand="1" string="Group By..." colspan="10" col="11">
119 <filter string="Assigned To" name="User" icon="terp-project" context="{'group_by':'user_id'}" />
120 <filter string="Project" icon="terp-project" context="{'group_by':'project_id'}"/>
121 <filter string="Partner" icon="terp-project" context="{'group_by':'partner_id'}" />
122 <filter string="Task" icon="terp-project" context="{'group_by':'name'}" />
123 <separator orientation="vertical"/>
124 <filter string="State" icon="terp-project" context="{'group_by':'state'}"/>
125 <filter string="Company" icon="terp-project" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
126 <filter string="Stage" icon="terp-project" context="{'group_by':'type'}" />
127 <separator orientation="vertical"/>
128 <filter string="Day" icon="terp-project" context="{'group_by':'day'}"/>
129 <filter string="Month" icon="terp-project" context="{'group_by':'month'}"/>
130 <filter string="Year" icon="terp-project" context="{'group_by':'year'}"/>
136 <record id="action_project_task_user_tree" model="ir.actions.act_window">
137 <field name="name">Tasks</field>
138 <field name="res_model">report.project.task.user</field>
139 <field name="view_type">form</field>
140 <field name="view_mode">tree,graph</field>
141 <field name="search_view_id" ref="view_task_project_user_search"/>
142 <field name="context">{'search_default_month':1,'search_default_User':1,'search_default_user_id':uid,'group_by_no_leaf':1,'group_by':[]}</field>
145 <menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="base.menu_project_report"/>
147 <!-- Views and action for project dashboard -->
148 <record id="view_project_vs_remaining_hours_tree" model="ir.ui.view">
149 <field name="name">project.vs.remaining.hour.tree</field>
150 <field name="model">project.vs.remaining.hours</field>
151 <field name="type">tree</field>
152 <field name="arch" type="xml">
153 <tree string="Project and remaining hours" colors="pink:state=='draft';blue:state=='pending';black:state=='open';red:state=='cancelled';grey:state=='close';yellow:state=='template'">
154 <field name="project"/>
155 <field name="remaining_hours"/>
156 <field name="state"/>
161 <record id="view_project_vs_remaining_hours_graph" model="ir.ui.view">
162 <field name="name">project.vs.remaining.hour.graph</field>
163 <field name="model">project.vs.remaining.hours</field>
164 <field name="type">graph</field>
165 <field name="arch" type="xml">
166 <graph string="Project vs remaining hours" type="bar">
167 <field name="project"/>
168 <field name="state" group="True"/>
169 <field name="remaining_hours" operator="+"/>
174 <record id="action_project_vs_remaining_hours_graph" model="ir.actions.act_window">
175 <field name="name">Project and remaining hours</field>
176 <field name="res_model">project.vs.remaining.hours</field>
177 <field name="view_type">form</field>
178 <field name="view_mode">graph,tree</field>
179 <field name="domain">[('uid','=',uid)]</field>
180 <field name="view_id" ref="view_project_vs_remaining_hours_graph"/>
182 <!-- Views and action for project issue dashboard -->
183 <record id="view_task_by_days_tree" model="ir.ui.view">
184 <field name="name">task.by.days.tree</field>
185 <field name="model">task.by.days</field>
186 <field name="type">tree</field>
187 <field name="arch" type="xml">
188 <tree string="Task By Days" >
190 <field name="total_task"/>
191 <field name="state"/>
196 <record id="view_task_by_days_graph" model="ir.ui.view">
197 <field name="name">task.by.days.graph</field>
198 <field name="model">task.by.days</field>
199 <field name="type">graph</field>
200 <field name="arch" type="xml">
201 <graph string="Task By Days" type="bar">
203 <field name="state" group="True"/>
204 <field name="project_id" group="True"/>
205 <field name="total_task" operator="+"/>
210 <record id="action_task_by_days_graph" model="ir.actions.act_window">
211 <field name="name">Task By Days</field>
212 <field name="res_model">task.by.days</field>
213 <field name="view_type">form</field>
214 <field name="view_mode">graph,tree</field>
215 <field name="domain">[('day','<=',time.strftime('%Y-%m-%d')),('day','>=', time.strftime('%Y-%m-%d', time.localtime(time.time()-(15*24*3600))))]</field>
216 <field name="view_id" ref="view_task_by_days_graph"/>
219 <!-- Views and action for project dashboard -->
220 <record id="view_task_by_days_vs_planned_hours_tree" model="ir.ui.view">
221 <field name="name">task.by.days.vs.planned.hours.tree</field>
222 <field name="model">task.by.days.vs.planned.hours</field>
223 <field name="type">tree</field>
224 <field name="arch" type="xml">
225 <tree string="Task By Days vs Planned Hours" >
227 <field name="planned_hour"/>
232 <record id="view_task_by_days_vs_planned_hours_graph" model="ir.ui.view">
233 <field name="name">task.by.days.vs.planned.hours.graph</field>
234 <field name="model">task.by.days.vs.planned.hours</field>
235 <field name="type">graph</field>
236 <field name="arch" type="xml">
237 <graph string="Task By Days vs Planned Hours" type="bar">
239 <field name="planned_hour" operator="+"/>
240 <field name="project_id" group="True"/>
245 <record id="action_task_by_days_vs_planned_hours_graph" model="ir.actions.act_window">
246 <field name="name">Task By Days vs Planned Hours</field>
247 <field name="res_model">task.by.days.vs.planned.hours</field>
248 <field name="view_type">form</field>
249 <field name="view_mode">graph,tree</field>
250 <field name="view_id" ref="view_task_by_days_vs_planned_hours_graph"/>