1 <?xml version="1.0" encoding="utf-8"?>
5 id="hr.menu_hr_reporting"
7 parent="hr.menu_hr_root"
10 <record id="view_timesheet_line_graph" model="ir.ui.view">
11 <field name="name">report.timesheet.line.graph</field>
12 <field name="model">report.timesheet.line</field>
13 <field name="type">graph</field>
14 <field name="arch" type="xml">
15 <graph string="Timesheet Line" type="bar">
16 <field name="account_id"/>
17 <field name="quantity" operator="+"/>
18 <field group="True" name="user_id"/>
23 <record id="view_timesheet_line_tree" model="ir.ui.view">
24 <field name="name">report.timesheet.line.tree</field>
25 <field name="model">report.timesheet.line</field>
26 <field name="type">tree</field>
27 <field name="arch" type="xml">
28 <tree string="Timesheet Line">
29 <field name="date" invisible="1"/>
30 <field name="day" invisible="1"/>
31 <field name="quantity" sum="Quantity"/>
32 <field name="cost" sum="Cost"/>
33 <field name="user_id" invisible="1"/>
34 <field name="name" invisible="1"/>
35 <field name="month" invisible="1"/>
36 <field name="account_id" invisible="1"/>
37 <field name="product_id" invisible="1"/>
38 <field name="invoice_id" invisible="1"/>
43 <record id="view_timesheet_line_search" model="ir.ui.view">
44 <field name="name">report.timesheet.line.search</field>
45 <field name="model">report.timesheet.line</field>
46 <field name="type">search</field>
47 <field name="arch" type="xml">
48 <search string="Timesheet by user">
49 <group col="10" colspan="4">
50 <filter icon="terp-hr" string="This Year"
51 domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
52 help="Timesheet lines in this year"/>
53 <filter icon="terp-hr" string="This Month"
55 domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
56 help="Timesheet lines in this month"/>
57 <filter icon="gtk-media-rewind"
60 domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
61 help="Timesheet lines during last 7 days"/>
62 <separator orientation="vertical"/>
63 <field name="user_id" widget="selection">
64 <filter icon="terp-hr"
65 string="Non Assigned timesheets to users"
66 help="Non Assigned timesheets to users"
67 domain="[('user_id','=',False)]"/>
69 <field name="account_id"/>
70 <field name="product_id"/>
72 <group expand="1" string="Group By...">
73 <filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
74 <separator orientation="vertical"/>
75 <filter string="Account" icon="terp-hr" context="{'group_by':'account_id'}"/>
76 <filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
77 <filter string="Invoice" icon="terp-hr" context="{'group_by':'invoice_id'}"/>
78 <separator orientation="vertical"/>
79 <filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
80 <filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
81 <filter string="Year" icon="terp-hr" context="{'group_by':'name'}"/>
84 <group expand="1" string="Group By..." colspan="10" col="12">
85 <filter string="User" name="User" icon="terp-hr" context="{'group_by':'user_id'}"/>
86 <separator orientation="vertical"/>
87 <filter string="Account" icon="terp-hr" context="{'group_by':'account_id'}"/>
88 <filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
89 <filter string="Invoice" icon="terp-hr" context="{'group_by':'invoice_id'}"/>
90 <separator orientation="vertical"/>
91 <filter string="Day" icon="terp-hr" context="{'group_by':'day'}"/>
92 <filter string="Month" icon="terp-hr" context="{'group_by':'month'}"/>
93 <filter string="Year" icon="terp-hr" context="{'group_by':'name'}"/>
96 <group expand="0" string="Extended options..." colspan="10" col="12">
98 <separator orientation="vertical"/>
99 <field name="invoice_id" widget="selection"/>
105 <record id="action_timesheet_line_stat_all" model="ir.actions.act_window">
106 <field name="name">Timesheet Line</field>
107 <field name="res_model">report.timesheet.line</field>
108 <field name="view_type">form</field>
109 <field name="view_mode">tree,graph</field>
110 <field name="context">{'search_default_month':1,'search_default_User':1,'search_default_user_id':uid,'group_by_no_leaf':1,'group_by':[]}</field>
111 <field name="search_view_id" ref="view_timesheet_line_search"/>
113 <!--menuitem action="action_timesheet_line_stat_all" id="menu_report_timesheet_line_all" parent="hr.menu_hr_reporting"/-->
116 <!-- Statistics report on timesheet by user -->
118 <record id="view_timesheet_user_graph" model="ir.ui.view">
119 <field name="name">report_timesheet.user.graph</field>
120 <field name="model">report_timesheet.user</field>
121 <field name="type">graph</field>
122 <field name="arch" type="xml">
123 <graph string="Timesheet by user" type="bar">
125 <field name="quantity" operator="+"/>
126 <field group="True" name="user_id"/>
131 <record id="view_timesheet_user_form" model="ir.ui.view">
132 <field name="name">report_timesheet.timesheet.user.form</field>
133 <field name="model">report_timesheet.user</field>
134 <field name="type">form</field>
135 <field name="arch" type="xml">
136 <form string="Timesheet by user">
137 <field name="name" select="1"/>
138 <field name="month" select="1"/>
139 <field name="user_id" select="1"/>
144 <record id="view_timesheet_user_tree" model="ir.ui.view">
145 <field name="name">report_timesheet.timesheet.user.tree</field>
146 <field name="model">report_timesheet.user</field>
147 <field name="type">tree</field>
148 <field name="arch" type="xml">
149 <tree string="Timesheet by user">
151 <field name="month"/>
152 <field name="user_id"/>
153 <field name="quantity"/>
159 <record id="view_timesheet_account_date_graph_account" model="ir.ui.view">
160 <field name="name">report_timesheet.account.date.graph</field>
161 <field name="model">report_timesheet.account.date</field>
162 <field name="type">graph</field>
163 <field name="arch" type="xml">
164 <graph orientation="horizontal" string="Daily timesheet per account" type="bar">
166 <field name="quantity" operator="+"/>
167 <field group="True" name="account_id"/>
172 <record id="view_timesheet_user_search" model="ir.ui.view">
173 <field name="name">report_timesheet.timesheet.user.search</field>
174 <field name="model">report_timesheet.user</field>
175 <field name="type">search</field>
176 <field name="arch" type="xml">
177 <search string="Timesheet by user">
178 <group col="10" colspan="4">
179 <separator orientation="vertical"/>
180 <filter icon="terp-hr" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="Timesheet by user in this year"/>
181 <filter icon="terp-hr" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="Timesheet by user in this month"/>
182 <separator orientation="vertical"/>
183 <field name="name" select="1"/>
184 <field name="month" select="1"/>
185 <field name="user_id" select="1"/>
191 <record id="action_timesheet_user_stat_all" model="ir.actions.act_window">
192 <field name="name">Timesheet by User</field>
193 <field name="res_model">report_timesheet.user</field>
194 <field name="view_type">form</field>
195 <field name="view_mode">graph,tree</field>
196 <field name="context">{"search_default_user_id":uid}</field>
197 <field name="search_view_id" ref="view_timesheet_user_search"/>
199 <!-- <menuitem action="action_timesheet_user_stat_all" id="menu_report_timesheet_user_all" parent="hr.menu_hr_reporting"/> -->
201 <!-- Statistics report on timesheets to invoice -->
203 <record id="view_timesheet_invoice_graph" model="ir.ui.view">
204 <field name="name">report_timesheet.invoice.graph</field>
205 <field name="model">report_timesheet.invoice</field>
206 <field name="type">graph</field>
207 <field name="arch" type="xml">
208 <graph string="Timesheet by invoice">
209 <field name="account_id"/>
210 <field name="amount_invoice" operator="+"/>
215 <record id="view_timesheet_invoice_form" model="ir.ui.view">
216 <field name="name">report_timesheet.timesheet.invoice.form</field>
217 <field name="model">report_timesheet.invoice</field>
218 <field name="type">form</field>
219 <field name="arch" type="xml">
220 <form string="Timesheet by invoice">
221 <field name="account_id" select="1"/>
222 <field name="manager_id" select="1"/>
223 <field name="user_id" select="1"/>
228 <record id="view_timesheet_invoice_search" model="ir.ui.view">
229 <field name="name">report_timesheet.timesheet.invoice.search</field>
230 <field name="model">report_timesheet.invoice</field>
231 <field name="type">search</field>
232 <field name="arch" type="xml">
233 <search string="Timesheet by invoice">
234 <separator orientation="vertical"/>
235 <field name="account_id" select="1"/>
236 <field name="manager_id" select="1"/>
237 <field name="user_id" select="1"/>
242 <record id="view_timesheet_invoice_tree" model="ir.ui.view">
243 <field name="name">report_timesheet.timesheet.invoice.tree</field>
244 <field name="model">report_timesheet.invoice</field>
245 <field name="type">tree</field>
246 <field name="arch" type="xml">
247 <tree string="Timesheets to invoice">
248 <field name="user_id"/>
249 <field name="account_id"/>
250 <field name="manager_id"/>
251 <field name="quantity"/>
252 <field name="amount_invoice"/>
257 <record id="action_timesheet_invoice_stat_all" model="ir.actions.act_window">
258 <field name="name">Timesheet by Invoice</field>
259 <field name="res_model">report_timesheet.invoice</field>
260 <field name="view_type">form</field>
261 <field name="view_mode">graph,tree</field>
262 <field name="context">{"search_default_user_id":uid}</field>
263 <field name="search_view_id" ref="view_timesheet_invoice_search"/>
265 <!-- <menuitem action="action_timesheet_invoice_stat_all" id="menu_report_timesheet_invoice_all" parent="hr.menu_hr_reporting"/> -->
267 <!-- Statistics report on daily timesheets per account -->
269 <record id="view_timesheet_account_date_tree" model="ir.ui.view">
270 <field name="name">report_timesheet.account.date.tree</field>
271 <field name="model">report_timesheet.account.date</field>
272 <field name="type">tree</field>
273 <field name="arch" type="xml">
274 <tree string="Daily timesheet per account">
276 <field name="month" select="1"/>
277 <field name="account_id"/>
278 <field name="user_id"/>
279 <field name="quantity"/>
283 <record id="view_timesheet_account_date_graph" model="ir.ui.view">
284 <field name="name">report_timesheet.account.date.graph</field>
285 <field name="model">report_timesheet.account.date</field>
286 <field name="type">graph</field>
287 <field name="arch" type="xml">
288 <graph orientation="horizontal" string="Daily timesheet per account">
289 <field name="account_id"/>
290 <field name="quantity" operator="+"/>
291 <field group="True" name="user_id"/>
296 <record id="view_timesheet_account_date_form" model="ir.ui.view">
297 <field name="name">report_timesheet.timesheet.account.date.form</field>
298 <field name="model">report_timesheet.account.date</field>
299 <field name="type">form</field>
300 <field name="arch" type="xml">
301 <form string="Daily timesheet by account">
302 <field name="name" select="1"/>
303 <field name="month" select="1"/>
304 <field name="account_id" select="1"/>
305 <field name="user_id" select="1"/>
306 <field name="quantity"/>
311 <record id="view_timesheet_account_date_search" model="ir.ui.view">
312 <field name="name">report_timesheet.timesheet.account.date.search</field>
313 <field name="model">report_timesheet.account.date</field>
314 <field name="type">search</field>
315 <field name="arch" type="xml">
316 <search string="Daily timesheet by account">
317 <group col="10" colspan="4">
318 <separator orientation="vertical"/>
319 <filter icon="terp-hr" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="Daily Timesheets for this year"/>
320 <filter icon="terp-hr" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="Daily Timesheets of this month"/>
321 <separator orientation="vertical"/>
322 <field name="name" select="1"/>
323 <field name="month" select="1"/>
324 <field name="account_id" select="1"/>
325 <field name="user_id" select="1"/>
331 <record id="action_timesheet_account_date_stat_all" model="ir.actions.act_window">
332 <field name="name">Daily Timesheet by Account</field>
333 <field name="res_model">report_timesheet.account.date</field>
334 <field name="view_type">form</field>
335 <field name="view_mode">graph,tree</field>
336 <field name="context">{"search_default_user_id":uid}</field>
337 <field name="search_view_id" ref="view_timesheet_account_date_search"/>
339 <!-- <menuitem action="action_timesheet_account_date_stat_all" id="menu_report_timesheet_account_date_all" parent="hr.menu_hr_reporting"/>-->
341 <!-- Statistics report on timesheets per account -->
343 <record id="view_timesheet_account_tree" model="ir.ui.view">
344 <field name="name">report_timesheet.account.tree</field>
345 <field name="model">report_timesheet.account</field>
346 <field name="type">tree</field>
347 <field name="arch" type="xml">
348 <tree string="Timesheet per account">
350 <field name="month" />
351 <field name="account_id"/>
352 <field name="user_id"/>
353 <field name="quantity"/>
357 <record id="view_timesheet_account_graph" model="ir.ui.view">
358 <field name="name">report_timesheet.account.graph</field>
359 <field name="model">report_timesheet.account</field>
360 <field name="type">graph</field>
361 <field name="arch" type="xml">
362 <graph string="Timesheet per account">
363 <field name="account_id"/>
364 <field name="quantity" operator="+"/>
365 <field group="True" name="user_id"/>
370 <record id="view_timesheet_account_form" model="ir.ui.view">
371 <field name="name">report_timesheet.timesheet.account.form</field>
372 <field name="model">report_timesheet.account</field>
373 <field name="type">form</field>
374 <field name="arch" type="xml">
375 <form string="Timesheet by account">
376 <field name="name" select="1"/>
377 <field name="month" select="1"/>
378 <field name="account_id" select="1"/>
379 <field name="user_id" select="1"/>
380 <field name="quantity"/>
385 <record id="view_timesheet_account_search" model="ir.ui.view">
386 <field name="name">report_timesheet.timesheet.account.search</field>
387 <field name="model">report_timesheet.account</field>
388 <field name="type">search</field>
389 <field name="arch" type="xml">
390 <form string="Timesheet by account">
391 <group col="10" colspan="4">
392 <separator orientation="vertical"/>
393 <filter icon="terp-hr" string="This Year" domain="[('name','=',time.strftime('%%Y'))]"/>
394 <filter icon="terp-hr" string="This Month" domain="[('month','=',time.strftime('%%m'))]"/>
395 <separator orientation="vertical"/>
396 <field name="name" select="1"/>
397 <field name="month" select="1"/>
398 <field name="account_id" select="1"/>
399 <field name="user_id" select="1"/>
406 <record id="action_timesheet_account_stat_all" model="ir.actions.act_window">
407 <field name="name">Timesheet by Account</field>
408 <field name="res_model">report_timesheet.account</field>
409 <field name="view_type">form</field>
410 <field name="view_mode">graph,tree</field>
411 <field name="search_view_id" ref="view_timesheet_account_search"/>
413 <!-- <menuitem action="action_timesheet_account_stat_all" id="menu_report_timesheet_account_all" parent="hr.menu_hr_reporting"/> -->
415 <act_window domain="[('user_id', '=', active_id)]" id="act_res_users_2_report_timesheet_user" name="Timesheets per day" res_model="report_timesheet.user" src_model="res.users"/>
417 <act_window domain="[('user_id', '=', active_id)]" id="act_res_users_2_report_timehsheet_account" name="Timesheets per account" res_model="report_timesheet.account" src_model="res.users"/>
419 <act_window domain="[('account_id', '=', active_id)]" id="act_account_analytic_account_2_report_timehsheet_account" name="Timesheets" res_model="report_timesheet.account" src_model="account.analytic.account"/>
421 <act_window domain="[('manager_id', '=', active_id)]" id="act_res_users_2_report_timesheet_invoice" name="Costs to invoice" res_model="report_timesheet.invoice" src_model="res.users"/>
424 <!-- Random Timesheet -->
426 <record model="ir.ui.view" id="view_random_timesheet_tree">
427 <field name="name">report.random.timesheet.tree</field>
428 <field name="model">report.random.timesheet</field>
429 <field name="type">tree</field>
430 <field name="arch" type="xml">
431 <tree string="Random Timesheets">
432 <field name="analytic_account_id" select="1"/>
433 <field name="name" select="1"/>
434 <field name="quantity" select="2" />
435 <field name="date" select="1"/>
440 <record model="ir.actions.act_window" id="action_random_timesheet_board">
441 <field name="name">Random Timesheet</field>
442 <field name="res_model">report.random.timesheet</field>
443 <field name="view_type">form</field>
444 <field name="view_mode">tree,form</field>
445 <field name="view_id" ref="view_random_timesheet_tree"/>
448 <!-- Random Timesheet Lines of random activities -->
450 <record id="view_random_timesheet_lines_search" model="ir.ui.view">
451 <field name="name">random.timesheet.lines.search</field>
452 <field name="model">random.timesheet.lines</field>
453 <field name="type">search</field>
454 <field name="arch" type="xml">
455 <search string="Search Timesheet Lines">
456 <group col='15' colspan='4'>
457 <separator orientation="vertical"/>
458 <filter icon="terp-project" string="Current" default="1" domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]"/>
459 <separator orientation="vertical"/>
460 <field name="user_id" widget="selection"/>
461 <field name="product_id" widget="selection"/>
464 <group expand="1" string="Group By...">
465 <filter string="User" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
466 <filter string="Product" icon="terp-project" domain="[]" context="{'group_by':'product_id'}"/>
467 <filter string="Analytic Account" icon="terp-project" domain="[]" context="{'group_by':'analytic_account_id'}"/>
468 <filter string="General Account" icon="terp-project" domain="[]" context="{'group_by':'general_account_id'}"/>
474 <record model="ir.ui.view" id="view_random_timesheet_lines_tree">
475 <field name="name">random.timesheet.lines.tree</field>
476 <field name="model">random.timesheet.lines</field>
477 <field name="type">tree</field>
478 <field name="arch" type="xml">
479 <tree string="Random Timesheets Lines">
480 <field name="date" select="1"/>
481 <field name="user_id"/>
482 <field name="name" select="1"/>
483 <field name="quantity" />
484 <field name="product_id" select="1"/>
485 <field name="analytic_account_id" select="1"/>
486 <field name="uom_id" />
487 <field name="amount" />
488 <field name="to_invoice" select="1"/>
489 <field name="general_account_id" />
494 <record model="ir.actions.act_window" id="action_random_timesheet_lines_board">
495 <field name="type">ir.actions.act_window</field>
496 <field name="name">Working Hours</field>
497 <field name="res_model">random.timesheet.lines</field>
498 <field name="view_type">form</field>
499 <field name="view_mode">tree,form</field>
500 <field name="context">{'search_default_user_id':uid }</field>
501 <field name="view_id" ref="view_random_timesheet_lines_tree"/>
502 <field name="search_view_id" ref="view_random_timesheet_lines_search"/>
504 <!--Time Tracking menu in project Management-->
507 id="base.menu_main_pm"
508 name="Project Management"
511 id="base.menu_project_management_time_tracking"
513 parent="base.menu_main_pm"
516 action="action_random_timesheet_lines_board"
517 id="menu_project_management_timesheet_lines_board"
518 parent="base.menu_project_management_time_tracking"
520 <!--<menuitem action="action_random_timesheet_lines_board" id="menu_hr_action_random_timesheet_lines_board"
521 parent="hr_attendance.menu_hr_time_tracking" groups="hr.group_hr_manager"/>-->
523 action="action_random_timesheet_lines_board"
524 id="menu_hr_action_random_timesheet_lines_board"
526 parent="hr_attendance.menu_hr_time_tracking"
527 groups="hr.group_hr_manager"/>