1 <?xml version="1.0" encoding="utf-8"?>
4 <menuitem icon="terp-project" id="menu_main" name="Project Management"/>
5 <menuitem id="menu_definitions" name="Configuration" parent="project.menu_main" sequence="1"/>
8 <record id="edit_project" model="ir.ui.view">
9 <field name="name">project.project.form</field>
10 <field name="model">project.project</field>
11 <field name="type">form</field>
12 <field name="arch" type="xml">
13 <form string="Project">
15 <page string="Administration">
16 <field name="name" select="1"/>
17 <group col="3" colspan="2">
18 <field name="active" select="2"/>
19 <button name="toggleActive" string="Toggle activity" type="object"/>
21 <field name="manager" select="1"/>
22 <field name="warn_manager"/>
24 <field name="priority"/>
25 <field name="parent_id"/>
26 <field name="date_start"/>
27 <field name="date_end"/>
28 <field name="planned_hours" widget="float_time"/>
29 <field name="effective_hours" widget="float_time"/>
30 <field name="timesheet_id"/>
32 <separator colspan="4" string="Project's members"/>
33 <field colspan="4" name="members" nolabel="1"/>
35 <page groups="base.group_extended" string="Partner Info">
36 <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
37 <field domain="[('partner_id','=',partner_id)]" name="contact_id" select="2"/>
38 <field name="category_id" select="2"/>
39 <field name="pricelist_id"/>
40 <field name="warn_customer"/>
42 <field name="tariff"/>
43 <separator colspan="4" string="Mail texts"/>
44 <field name="warn_header"/>
45 <field name="warn_footer"/>
46 <group col="3" colspan="4">
47 <label string="Task: %%(name)s"/>
48 <label string="User: %%(user_id)s"/>
49 <label string="ID: %%(task_id)s"/>
50 <label string="Status: %%(state)s"/>
51 <label string="Date Start: %%(date_start)s"/>
52 <label string="Date Stop: %%(date_stop)s"/>
54 <separator colspan="4" string="Taxes"/>
55 <field colspan="4" name="tax_ids" nolabel="1"/>
58 <field colspan="4" name="tasks" nolabel="1" widget="one2many_list">
59 <form string="Task edition">
61 <page string="Task definition">
62 <separator colspan="4" string="Task Information"/>
63 <field name="name" select="1"/>
64 <field name="active" select="1"/>
65 <field name="sequence"/>
66 <field name="priority" select="1"/>
67 <field name="user_id" select="1"/>
68 <field name="date_deadline" select="1"/>
69 <field name="date_start" select="1"/>
70 <field name="date_close" select="1"/>
71 <field name="progress"/>
73 <field name="planned_hours" widget="float_time"/>
74 <field name="effective_hours" widget="float_time"/>
75 <separator colspan="4" string="Description"/>
76 <field colspan="4" name="description" nolabel="1"/>
78 <group col="11" colspan="4">
79 <field name="state" select="1"/>
80 <button name="do_draft" states="open" string="Set Draft" type="object"/>
81 <button name="do_open" states="pending,draft" string="Open task" type="object"/>
82 <button name="do_reopen" states="done,cancelled" string="Re-open" type="object"/>
83 <button name="do_pending" states="open" string="Set pending" type="object"/>
84 <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/>
85 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action"/>
86 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
89 <page string="Work done">
90 <separator colspan="4" string="Work done"/>
91 <field colspan="4" name="work_ids" nolabel="1"/>
93 <page string="Others">
94 <separator colspan="4" string="Notes"/>
95 <field colspan="4" name="invoice_id" readonly="True"/>
96 <field colspan="4" name="notes" nolabel="1"/>
99 <field name="billable" select="1"/>
100 <field name="start_sequence"/>
101 <field colspan="4" name="child_ids" nolabel="1">
102 <tree string="Delegated tasks">
104 <field name="user_id"/>
105 <field name="date_deadline"/>
106 <field name="planned_hours" widget="float_time"/>
107 <field name="effective_hours" widget="float_time"/>
108 <field name="state"/>
111 <field colspan="4" name="parent_id"/>
115 <tree colors="red:date_deadline<current_date and state=='draft';blue:date_deadline==current_date and state=='draft';grey:state=='cancel' or state=='close'" string="All tasks">
116 <field name="sequence"/>
118 <field name="user_id"/>
119 <field name="date_deadline"/>
120 <field name="progress_rate" widget="progressbar"/>
121 <field name="planned_hours" widget="float_time"/>
122 <field name="effective_hours" widget="float_time"/>
123 <field name="state"/>
127 <page string="Notes">
128 <field colspan="4" name="notes" nolabel="1"/>
135 <record id="view_project" model="ir.ui.view">
136 <field name="name">project.project.tree</field>
137 <field name="model">project.project</field>
138 <field name="type">tree</field>
139 <field name="field_parent">child_id</field>
140 <field name="arch" type="xml">
141 <tree string="Projects">
143 <field name="manager"/>
144 <field name="partner_id"/>
145 <field name="planned_hours" widget="float_time"/>
146 <field name="effective_hours" widget="float_time"/>
147 <field name="progress_rate" widget="progressbar"/>
148 <field name="state"/>
152 <record id="open_view_all_project" model="ir.actions.act_window">
153 <field name="name">All Projects</field>
154 <field name="res_model">project.project</field>
155 <field name="view_type">tree</field>
156 <field name="domain">[('parent_id','=',False)]</field>
157 <field name="view_id" ref="view_project"/>
159 <menuitem action="open_view_all_project" id="menu_all_project" parent="project.menu_main"/>
161 <record id="open_view_all_project_unclosed" model="ir.actions.act_window">
162 <field name="name">Unclosed projects</field>
163 <field name="res_model">project.project</field>
164 <field name="view_type">tree</field>
165 <field name="domain">[('parent_id','=',False),('state','<>','cancelled'),('state','<>','done')]</field>
166 <field name="view_id" ref="view_project"/>
168 <menuitem action="open_view_all_project_unclosed" id="menu_all_project_unclosed" parent="project.menu_all_project"/>
171 <record id="open_view_all_project_unclosed_open" model="ir.actions.act_window">
172 <field name="name">Open projects</field>
173 <field name="res_model">project.project</field>
174 <field name="view_type">tree</field>
175 <field name="domain">[('parent_id','=',False),('state','=','open')]</field>
176 <field name="view_id" ref="view_project"/>
178 <menuitem action="open_view_all_project_unclosed_open" id="menu_all_project_unclosed_open" parent="project.menu_all_project_unclosed"/>
181 <record id="open_view_project_open" model="ir.actions.act_window">
182 <field name="name">Open projects</field>
183 <field name="res_model">project.project</field>
184 <field name="view_type">form</field>
185 <field name="domain">[('state','=','open')]</field>
186 <field name="view_id" ref="view_project"/>
188 <menuitem id="next_id_54" name="Projects" parent="project.menu_definitions"/><menuitem action="open_view_project_open" id="menu_open_view_project_open" parent="next_id_54"/>
191 <record id="open_view_project" model="ir.actions.act_window">
192 <field name="name">Projects</field>
193 <field name="res_model">project.project</field>
194 <field name="view_type">form</field>
195 <field name="domain">[]</field>
196 <field name="view_id" ref="view_project"/>
198 <menuitem action="open_view_project" id="menu_open_view_project" parent="project.menu_definitions"/>
200 <record id="view_task_work_form" model="ir.ui.view">
201 <field name="name">project.task.work.form</field>
202 <field name="model">project.task.work</field>
203 <field name="type">form</field>
204 <field name="arch" type="xml">
205 <form string="Task Work">
206 <field colspan="4" name="name" select="1"/>
207 <field name="hours" select="1" widget="float_time"/>
208 <field name="date" select="1"/>
209 <field name="user_id" select="1"/>
214 <record id="view_task_work_tree" model="ir.ui.view">
215 <field name="name">project.task.work.tree</field>
216 <field name="model">project.task.work</field>
217 <field name="type">tree</field>
218 <field name="arch" type="xml">
219 <tree editable="top" string="Task Work">
222 <field name="hours" widget="float_time"/>
223 <field name="user_id"/>
228 <record id="view_my_project" model="ir.ui.view">
229 <field name="name">project.project.tree</field>
230 <field name="model">project.project</field>
231 <field name="type">tree</field>
232 <field name="field_parent">child_id</field>
233 <field name="arch" type="xml">
234 <tree string="My projects">
236 <field name="partner_id"/>
237 <field name="planned_hours" widget="float_time"/>
238 <field name="effective_hours" widget="float_time"/>
239 <field name="progress_rate" widget="progressbar"/>
240 <field name="state"/>
244 <record id="open_view_my_project" model="ir.actions.act_window">
245 <field name="name">My projects</field>
246 <field name="res_model">project.project</field>
247 <field name="view_type">tree</field>
248 <field name="domain">[('manager', '=', uid)]</field>
249 <field name="view_id" ref="view_my_project"/>
251 <menuitem action="open_view_my_project" id="menu_open_view_my_project" parent="project.menu_main"/>
254 <record id="open_view_my_project_open_unclosed" model="ir.actions.act_window">
255 <field name="name">My unclosed projects</field>
256 <field name="res_model">project.project</field>
257 <field name="view_type">tree</field>
258 <field name="domain">[('manager', '=', uid),('state','<>','cancelled'),('state','<>','done')]</field>
259 <field name="view_id" ref="view_my_project"/>
261 <menuitem action="open_view_my_project_open_unclosed" id="menu_open_view_my_project_open_unclosed" parent="project.menu_open_view_my_project"/>
264 <record id="open_view_my_project_open" model="ir.actions.act_window">
265 <field name="name">My open projects</field>
266 <field name="res_model">project.project</field>
267 <field name="view_type">tree</field>
268 <field name="domain">[('manager', '=', uid),('state','=','open')]</field>
269 <field name="view_id" ref="view_my_project"/>
271 <menuitem action="open_view_my_project_open" id="menu_open_view_my_project_open" parent="project.menu_open_view_my_project_open_unclosed"/>
274 <record id="view_task_form2" model="ir.ui.view">
275 <field name="name">project.task.form</field>
276 <field name="model">project.task</field>
277 <field name="type">form</field>
278 <field eval="2" name="priority"/>
279 <field name="arch" type="xml">
280 <form string="Task edition">
282 <page string="Information">
283 <field name="name" select="1"/>
284 <field name="project_id" required="1" select="1"/>
285 <field name="user_id" select="1"/>
286 <field name="priority"/>
287 <field name="date_deadline" select="2"/>
288 <field name="planned_hours" widget="float_time"/>
289 <separator colspan="4" string="Description"/>
290 <field colspan="4" name="description" nolabel="1" select="2"/>
291 <field name="effective_hours" widget="float_time"/>
292 <field name="progress"/>
293 <field colspan="4" name="work_ids" nolabel="1"/>
295 <group col="11" colspan="4">
296 <field name="state" select="1"/>
297 <button name="do_draft" states="open" string="Set Draft" type="object"/>
298 <button name="do_open" states="pending,draft" string="Open" type="object"/>
299 <button name="do_reopen" states="done,cancelled" string="Re-open" type="object"/>
300 <button name="do_pending" states="open" string="Set Pending" type="object"/>
301 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action"/>
302 <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/>
303 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
307 <page groups="base.group_extended" string="Delegations">
308 <field colspan="4" name="history" nolabel="1"/>
309 <field colspan="4" height="150" name="child_ids" nolabel="1">
310 <tree string="Delegated tasks">
312 <field name="user_id"/>
313 <field name="date_deadline"/>
314 <field name="planned_hours" widget="float_time"/>
315 <field name="effective_hours" widget="float_time"/>
316 <field name="state"/>
319 <field colspan="4" name="parent_id"/>
321 <page groups="base.group_extended" string="Extra Info">
322 <field name="date_start" select="2"/>
323 <field name="date_close" select="2"/>
325 <field name="sequence"/>
326 <field name="active" select="2"/>
327 <field name="start_sequence"/>
328 <field name="partner_id" select="2"/>
330 <field name="invoice_id"/>
331 <field name="billable" select="2"/>
332 <separator colspan="4" string="Notes"/>
333 <field colspan="4" name="notes" nolabel="1"/>
339 <record id="view_task_tree2" model="ir.ui.view">
340 <field name="name">project.task.tree</field>
341 <field name="model">project.task</field>
342 <field name="type">tree</field>
343 <field eval="2" name="priority"/>
344 <field name="arch" type="xml">
345 <tree colors="grey:state in ('cancel','done');blue:state=='pending'" string="Tasks">
346 <field name="sequence"/>
348 <field name="project_id"/>
349 <field name="user_id"/>
350 <field name="date_deadline"/>
351 <field name="progress_rate" widget="progressbar"/>
352 <field name="planned_hours" sum="Planned hours" widget="float_time"/>
353 <field name="effective_hours" sum="Effective hours" widget="float_time"/>
354 <field name="priority"/>
355 <field name="state"/>
360 <record id="view_task_calendar" model="ir.ui.view">
361 <field name="name">project.task.calendar</field>
362 <field name="model">project.task</field>
363 <field name="type">calendar</field>
364 <field eval="2" name="priority"/>
365 <field name="arch" type="xml">
366 <calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
368 <field name="project_id"/>
373 <record id="action_view_task" model="ir.actions.act_window">
374 <field name="name">All Tasks</field>
375 <field name="res_model">project.task</field>
376 <field name="view_type">form</field>
377 <field name="view_mode">tree,form,calendar</field>
378 <field eval="False" name="view_id"/>
380 <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_main"/>
382 <record id="action_view_task2" model="ir.actions.act_window">
383 <field name="name">Unbilled closed tasks</field>
384 <field name="res_model">project.task</field>
385 <field name="view_type">form</field>
386 <field name="view_mode">tree,form</field>
387 <field name="domain">[('state','=','done'), ('billable','=',True), ('invoice_id','=',False)]</field>
389 <menuitem groups="base.group_extended" id="menu_action_billable" name="Billable Tasks" parent="project.menu_action_view_task"/>
391 <menuitem action="action_view_task2" id="menu_action_view_task2" parent="project.menu_action_billable"/>
393 <record id="action_view_task3" model="ir.actions.act_window">
394 <field name="name">Unbilled open tasks</field>
395 <field name="res_model">project.task</field>
396 <field name="view_type">form</field>
397 <field name="view_mode">tree,form</field>
398 <field name="domain">[('state','=','open'), ('billable','=',True), ('invoice_id','=',False)]</field>
400 <menuitem action="action_view_task3" id="menu_action_view_task3" parent="project.menu_action_billable"/>
402 <record id="action_view_task4" model="ir.actions.act_window">
403 <field name="name">My Tasks</field>
404 <field name="res_model">project.task</field>
405 <field name="view_type">form</field>
406 <field name="view_mode">tree,form</field>
407 <field name="domain">[('user_id', '=', uid)]</field>
409 <menuitem action="action_view_task4" id="menu_action_view_task4" parent="project.menu_main"/>
411 <record id="action_view_task5_pending" model="ir.actions.act_window">
412 <field name="name">My Pending Tasks</field>
413 <field name="res_model">project.task</field>
414 <field name="view_type">form</field>
415 <field name="view_mode">tree,form</field>
416 <field name="domain">[('user_id', '=', uid),('state','=','pending')]</field>
418 <menuitem action="action_view_task5_pending" id="menu_tasks_yours_pending" parent="menu_action_view_task4"/>
420 <record id="action_view_task5" model="ir.actions.act_window">
421 <field name="name">My Open Tasks</field>
422 <field name="res_model">project.task</field>
423 <field name="view_type">form</field>
424 <field name="view_mode">tree,form</field>
425 <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
427 <menuitem action="action_view_task5" id="menu_tasks_yours" parent="menu_action_view_task4"/>
429 <record id="action_view_task5_prog" model="ir.actions.act_window">
430 <field name="name">My Tasks in Progress</field>
431 <field name="res_model">project.task</field>
432 <field name="view_type">form</field>
433 <field name="view_mode">tree,form</field>
434 <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
436 <menuitem action="action_view_task5_prog" id="menu_tasks_yours_prog" parent="menu_action_view_task4"/>
438 <record id="action_view_task_new" model="ir.actions.act_window">
439 <field name="name">New Task</field>
440 <field name="res_model">project.task</field>
441 <field name="view_type">form</field>
442 <field name="view_mode">form,tree</field>
444 <menuitem action="action_view_task_new" id="menu_action_view_task_new" parent="menu_action_view_task4"/>
446 <record id="action_view_task6" model="ir.actions.act_window">
447 <field name="name">Open Tasks</field>
448 <field name="res_model">project.task</field>
449 <field name="view_type">form</field>
450 <field name="view_mode">tree,form</field>
451 <field name="domain">[('state', '=', 'open')]</field>
453 <menuitem action="action_view_task6" id="menu_action_view_task6" parent="project.menu_action_view_task"/>
455 <record id="action_view_task6_prog" model="ir.actions.act_window">
456 <field name="name">Tasks in Progress</field>
457 <field name="res_model">project.task</field>
458 <field name="view_type">form</field>
459 <field name="view_mode">tree,form</field>
460 <field name="domain">[('state', '=', 'progress')]</field>
462 <menuitem action="action_view_task6_prog" id="menu_action_view_task6_prog" parent="project.menu_action_view_task"/>
464 <record id="action_view_task7" model="ir.actions.act_window">
465 <field name="name">Unassigned Tasks</field>
466 <field name="res_model">project.task</field>
467 <field name="view_type">form</field>
468 <field name="view_mode">tree,form</field>
469 <field name="domain">[('user_id', '=', False)]</field>
471 <menuitem action="action_view_task7" id="menu_action_view_task7" parent="project.menu_action_view_task"/>
473 <!-- Opening task when double clicking on project -->
474 <record id="dblc_proj" model="ir.actions.act_window">
475 <field name="res_model">project.task</field>
476 <field name="name">Project's tasks</field>
477 <field name="view_type">form</field>
478 <field name="view_mode">tree,form</field>
479 <field name="domain">[('project_id', 'child_of', [active_id])]</field>
481 <record id="ir_project_task_open" model="ir.values">
482 <field eval=" 'tree_but_open'" name="key2"/>
483 <field eval="'project.project'" name="model"/>
484 <field name="name">View project's tasks</field>
485 <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
486 <field eval="True" name="object"/>
490 <record id="task_type_edit" model="ir.ui.view">
491 <field name="name">project.task.type.form</field>
492 <field name="model">project.task.type</field>
493 <field name="type">form</field>
494 <field name="arch" type="xml">
495 <form string="Task type">
496 <field colspan="4" name="name" select="1"/>
497 <field colspan="4" name="description" select="1"/>
501 <record id="task_type_tree" model="ir.ui.view">
502 <field name="name">project.task.type.tree</field>
503 <field name="model">project.task.type</field>
504 <field name="type">tree</field>
505 <field name="arch" type="xml">
506 <tree string="Task type">
511 <record id="open_task_type_form" model="ir.actions.act_window">
512 <field name="name">Task Types</field>
513 <field name="res_model">project.task.type</field>
514 <field name="view_type">form</field>
515 <field name="view_id" ref="task_type_tree"/>
517 <menuitem action="open_task_type_form" id="menu_task_types" parent="project.menu_definitions"/>
519 <act_window domain="[('manager', '=', active_id)]" id="act_res_users_2_project_project" name="User's projects" res_model="project.project" src_model="res.users" view_mode="tree,form" view_type="form"/>
521 <act_window domain="[('project_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]" id="act_project_project_2_project_task_opened" name="Opened tasks" res_model="project.task" src_model="project.project" view_mode="tree,form" view_type="form"/>
523 <act_window domain="[('user_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]" id="act_res_users_2_project_task_opened" name="Assigned tasks" res_model="project.task" src_model="res.users" view_mode="tree,form" view_type="form"/>
525 <act_window domain="[('user_id', '=', active_id),('date', '>=', time.strftime('%Y-%m-01'))]" id="act_res_users_2_project_task_work_month" name="Month works" res_model="project.task.work" src_model="res.users" view_mode="tree,form" view_type="form"/>