1 <?xml version="1.0" encoding="utf-8"?>
4 <menuitem icon="terp-project" id="menu_main" name="Project Management"/>
5 <menuitem groups="base.group_admin" 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="planned_hours" widget="float_time"/>
121 <field name="effective_hours" widget="float_time"/>
122 <field name="state"/>
126 <page string="Notes">
127 <field colspan="4" name="notes" nolabel="1"/>
134 <record id="view_project" model="ir.ui.view">
135 <field name="name">project.project.tree</field>
136 <field name="model">project.project</field>
137 <field name="type">tree</field>
138 <field name="field_parent">child_id</field>
139 <field name="arch" type="xml">
140 <tree string="Projects">
142 <field name="manager"/>
143 <field name="partner_id"/>
144 <field name="planned_hours" widget="float_time"/>
145 <field name="effective_hours" widget="float_time"/>
146 <field name="state"/>
150 <record id="open_view_all_project" model="ir.actions.act_window">
151 <field name="name">All Projects</field>
152 <field name="res_model">project.project</field>
153 <field name="view_type">tree</field>
154 <field name="domain">[('parent_id','=',False)]</field>
155 <field name="view_id" ref="view_project"/>
157 <menuitem action="open_view_all_project" id="menu_all_project" parent="project.menu_main"/>
159 <record id="open_view_all_project_unclosed" model="ir.actions.act_window">
160 <field name="name">Unclosed projects</field>
161 <field name="res_model">project.project</field>
162 <field name="view_type">tree</field>
163 <field name="domain">[('parent_id','=',False),('state','<>','cancelled'),('state','<>','done')]</field>
164 <field name="view_id" ref="view_project"/>
166 <menuitem action="open_view_all_project_unclosed" id="menu_all_project_unclosed" parent="project.menu_all_project"/>
169 <record id="open_view_all_project_unclosed_open" model="ir.actions.act_window">
170 <field name="name">Open projects</field>
171 <field name="res_model">project.project</field>
172 <field name="view_type">tree</field>
173 <field name="domain">[('parent_id','=',False),('state','=','open')]</field>
174 <field name="view_id" ref="view_project"/>
176 <menuitem action="open_view_all_project_unclosed_open" id="menu_all_project_unclosed_open" parent="project.menu_all_project_unclosed"/>
179 <record id="open_view_project_open" model="ir.actions.act_window">
180 <field name="name">Open projects</field>
181 <field name="res_model">project.project</field>
182 <field name="view_type">form</field>
183 <field name="domain">[('state','=','open')]</field>
184 <field name="view_id" ref="view_project"/>
186 <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"/>
189 <record id="open_view_project" model="ir.actions.act_window">
190 <field name="name">Projects</field>
191 <field name="res_model">project.project</field>
192 <field name="view_type">form</field>
193 <field name="domain">[]</field>
194 <field name="view_id" ref="view_project"/>
196 <menuitem action="open_view_project" id="menu_open_view_project" parent="project.menu_definitions"/>
198 <record id="view_task_work_form" model="ir.ui.view">
199 <field name="name">project.task.work.form</field>
200 <field name="model">project.task.work</field>
201 <field name="type">form</field>
202 <field name="arch" type="xml">
203 <form string="Task Work">
204 <field colspan="4" name="name" select="1"/>
205 <field name="hours" select="1" widget="float_time"/>
206 <field name="date" select="1"/>
207 <field name="user_id" select="1"/>
212 <record id="view_task_work_tree" model="ir.ui.view">
213 <field name="name">project.task.work.tree</field>
214 <field name="model">project.task.work</field>
215 <field name="type">tree</field>
216 <field name="arch" type="xml">
217 <tree editable="top" string="Task Work">
220 <field name="hours" widget="float_time"/>
221 <field name="user_id"/>
226 <record id="view_my_project" model="ir.ui.view">
227 <field name="name">project.project.tree</field>
228 <field name="model">project.project</field>
229 <field name="type">tree</field>
230 <field name="field_parent">child_id</field>
231 <field name="arch" type="xml">
232 <tree string="My projects">
234 <field name="partner_id"/>
235 <field name="planned_hours" widget="float_time"/>
236 <field name="effective_hours" widget="float_time"/>
237 <field name="state"/>
241 <record id="open_view_my_project" model="ir.actions.act_window">
242 <field name="name">My projects</field>
243 <field name="res_model">project.project</field>
244 <field name="view_type">tree</field>
245 <field name="domain">[('manager', '=', uid)]</field>
246 <field name="view_id" ref="view_my_project"/>
248 <menuitem action="open_view_my_project" id="menu_open_view_my_project" parent="project.menu_main"/>
251 <record id="open_view_my_project_open_unclosed" model="ir.actions.act_window">
252 <field name="name">My unclosed projects</field>
253 <field name="res_model">project.project</field>
254 <field name="view_type">tree</field>
255 <field name="domain">[('manager', '=', uid),('state','<>','cancelled'),('state','<>','done')]</field>
256 <field name="view_id" ref="view_my_project"/>
258 <menuitem action="open_view_my_project_open_unclosed" id="menu_open_view_my_project_open_unclosed" parent="project.menu_open_view_my_project"/>
261 <record id="open_view_my_project_open" model="ir.actions.act_window">
262 <field name="name">My open projects</field>
263 <field name="res_model">project.project</field>
264 <field name="view_type">tree</field>
265 <field name="domain">[('manager', '=', uid),('state','=','open')]</field>
266 <field name="view_id" ref="view_my_project"/>
268 <menuitem action="open_view_my_project_open" id="menu_open_view_my_project_open" parent="project.menu_open_view_my_project_open_unclosed"/>
271 <record id="view_task_form2" model="ir.ui.view">
272 <field name="name">project.task.form</field>
273 <field name="model">project.task</field>
274 <field name="type">form</field>
275 <field eval="2" name="priority"/>
276 <field name="arch" type="xml">
277 <form string="Task edition">
279 <page string="Information">
280 <field name="name" select="1"/>
281 <field name="project_id" required="1" select="1"/>
282 <field name="user_id" select="1"/>
283 <field name="priority"/>
284 <field name="date_deadline" select="2"/>
285 <field name="planned_hours" widget="float_time"/>
286 <separator colspan="4" string="Description"/>
287 <field colspan="4" name="description" nolabel="1" select="2"/>
288 <field name="effective_hours" widget="float_time"/>
289 <field name="progress"/>
290 <field colspan="4" name="work_ids" nolabel="1"/>
292 <group col="11" colspan="4">
293 <field name="state" select="1"/>
294 <button name="do_draft" states="open" string="Set Draft" type="object"/>
295 <button name="do_open" states="pending,draft" string="Open" type="object"/>
296 <button name="do_reopen" states="done,cancelled" string="Re-open" type="object"/>
297 <button name="do_pending" states="open" string="Set Pending" type="object"/>
298 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action"/>
299 <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/>
300 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
304 <page groups="base.group_extended" string="Delegations">
305 <field colspan="4" name="history" nolabel="1"/>
306 <field colspan="4" height="150" name="child_ids" nolabel="1">
307 <tree string="Delegated tasks">
309 <field name="user_id"/>
310 <field name="date_deadline"/>
311 <field name="planned_hours" widget="float_time"/>
312 <field name="effective_hours" widget="float_time"/>
313 <field name="state"/>
316 <field colspan="4" name="parent_id"/>
318 <page groups="base.group_extended" string="Extra Info">
319 <field name="date_start" select="2"/>
320 <field name="date_close" select="2"/>
322 <field name="sequence"/>
323 <field name="active" select="2"/>
324 <field name="start_sequence"/>
325 <field name="partner_id" select="2"/>
327 <field name="invoice_id"/>
328 <field name="billable" select="2"/>
329 <separator colspan="4" string="Notes"/>
330 <field colspan="4" name="notes" nolabel="1"/>
336 <record id="view_task_tree2" model="ir.ui.view">
337 <field name="name">project.task.tree</field>
338 <field name="model">project.task</field>
339 <field name="type">tree</field>
340 <field eval="2" name="priority"/>
341 <field name="arch" type="xml">
342 <tree colors="grey:state in ('cancel','done');blue:state=='pending'" string="Tasks">
343 <field name="sequence"/>
345 <field name="project_id"/>
346 <field name="user_id"/>
347 <field name="date_deadline"/>
348 <field name="planned_hours" sum="Planned hours" widget="float_time"/>
349 <field name="effective_hours" sum="Effective hours" widget="float_time"/>
350 <field name="priority"/>
351 <field name="state"/>
356 <record id="view_task_calendar" model="ir.ui.view">
357 <field name="name">project.task.calendar</field>
358 <field name="model">project.task</field>
359 <field name="type">calendar</field>
360 <field eval="2" name="priority"/>
361 <field name="arch" type="xml">
362 <calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
364 <field name="project_id"/>
369 <record id="action_view_task" model="ir.actions.act_window">
370 <field name="name">All Tasks</field>
371 <field name="res_model">project.task</field>
372 <field name="view_type">form</field>
373 <field name="view_mode">tree,form,calendar</field>
374 <field eval="False" name="view_id"/>
376 <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_main"/>
378 <record id="action_view_task2" model="ir.actions.act_window">
379 <field name="name">Unbilled closed tasks</field>
380 <field name="res_model">project.task</field>
381 <field name="view_type">form</field>
382 <field name="view_mode">tree,form</field>
383 <field name="domain">[('state','=','done'), ('billable','=',True), ('invoice_id','=',False)]</field>
385 <menuitem groups="base.group_extended" id="menu_action_billable" name="Billable Tasks" parent="project.menu_action_view_task"/>
387 <menuitem action="action_view_task2" id="menu_action_view_task2" parent="project.menu_action_billable"/>
389 <record id="action_view_task3" model="ir.actions.act_window">
390 <field name="name">Unbilled open tasks</field>
391 <field name="res_model">project.task</field>
392 <field name="view_type">form</field>
393 <field name="view_mode">tree,form</field>
394 <field name="domain">[('state','=','open'), ('billable','=',True), ('invoice_id','=',False)]</field>
396 <menuitem action="action_view_task3" id="menu_action_view_task3" parent="project.menu_action_billable"/>
398 <record id="action_view_task4" model="ir.actions.act_window">
399 <field name="name">My Tasks</field>
400 <field name="res_model">project.task</field>
401 <field name="view_type">form</field>
402 <field name="view_mode">tree,form</field>
403 <field name="domain">[('user_id', '=', uid)]</field>
405 <menuitem action="action_view_task4" id="menu_action_view_task4" parent="project.menu_main"/>
407 <record id="action_view_task5_pending" model="ir.actions.act_window">
408 <field name="name">My Pending Tasks</field>
409 <field name="res_model">project.task</field>
410 <field name="view_type">form</field>
411 <field name="view_mode">tree,form</field>
412 <field name="domain">[('user_id', '=', uid),('state','=','pending')]</field>
414 <menuitem action="action_view_task5_pending" id="menu_tasks_yours_pending" parent="menu_action_view_task4"/>
416 <record id="action_view_task5" model="ir.actions.act_window">
417 <field name="name">My Open Tasks</field>
418 <field name="res_model">project.task</field>
419 <field name="view_type">form</field>
420 <field name="view_mode">tree,form</field>
421 <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
423 <menuitem action="action_view_task5" id="menu_tasks_yours" parent="menu_action_view_task4"/>
425 <record id="action_view_task5_prog" model="ir.actions.act_window">
426 <field name="name">My Tasks in Progress</field>
427 <field name="res_model">project.task</field>
428 <field name="view_type">form</field>
429 <field name="view_mode">tree,form</field>
430 <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
432 <menuitem action="action_view_task5_prog" id="menu_tasks_yours_prog" parent="menu_action_view_task4"/>
434 <record id="action_view_task_new" model="ir.actions.act_window">
435 <field name="name">New Task</field>
436 <field name="res_model">project.task</field>
437 <field name="view_type">form</field>
438 <field name="view_mode">form,tree</field>
440 <menuitem action="action_view_task_new" id="menu_action_view_task_new" parent="menu_action_view_task4"/>
442 <record id="action_view_task6" model="ir.actions.act_window">
443 <field name="name">Open Tasks</field>
444 <field name="res_model">project.task</field>
445 <field name="view_type">form</field>
446 <field name="view_mode">tree,form</field>
447 <field name="domain">[('state', '=', 'open')]</field>
449 <menuitem action="action_view_task6" id="menu_action_view_task6" parent="project.menu_action_view_task"/>
451 <record id="action_view_task6_prog" model="ir.actions.act_window">
452 <field name="name">Tasks in Progress</field>
453 <field name="res_model">project.task</field>
454 <field name="view_type">form</field>
455 <field name="view_mode">tree,form</field>
456 <field name="domain">[('state', '=', 'progress')]</field>
458 <menuitem action="action_view_task6_prog" id="menu_action_view_task6_prog" parent="project.menu_action_view_task"/>
460 <record id="action_view_task7" model="ir.actions.act_window">
461 <field name="name">Unassigned Tasks</field>
462 <field name="res_model">project.task</field>
463 <field name="view_type">form</field>
464 <field name="view_mode">tree,form</field>
465 <field name="domain">[('user_id', '=', False)]</field>
467 <menuitem action="action_view_task7" id="menu_action_view_task7" parent="project.menu_action_view_task"/>
469 <!-- Opening task when double clicking on project -->
470 <record id="dblc_proj" model="ir.actions.act_window">
471 <field name="res_model">project.task</field>
472 <field name="name">Project's tasks</field>
473 <field name="view_type">form</field>
474 <field name="view_mode">tree,form</field>
475 <field name="domain">[('project_id', 'child_of', [active_id])]</field>
477 <record id="ir_project_task_open" model="ir.values">
478 <field eval=" 'tree_but_open'" name="key2"/>
479 <field eval="'project.project'" name="model"/>
480 <field name="name">View project's tasks</field>
481 <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
482 <field eval="True" name="object"/>
486 <record id="task_type_edit" model="ir.ui.view">
487 <field name="name">project.task.type.form</field>
488 <field name="model">project.task.type</field>
489 <field name="type">form</field>
490 <field name="arch" type="xml">
491 <form string="Task type">
492 <field colspan="4" name="name" select="1"/>
493 <field colspan="4" name="description" select="1"/>
497 <record id="task_type_tree" model="ir.ui.view">
498 <field name="name">project.task.type.tree</field>
499 <field name="model">project.task.type</field>
500 <field name="type">tree</field>
501 <field name="arch" type="xml">
502 <tree string="Task type">
507 <record id="open_task_type_form" model="ir.actions.act_window">
508 <field name="name">Task Types</field>
509 <field name="res_model">project.task.type</field>
510 <field name="view_type">form</field>
511 <field name="view_id" ref="task_type_tree"/>
513 <menuitem action="open_task_type_form" id="menu_task_types" parent="project.menu_definitions"/>
515 <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"/>
517 <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"/>
519 <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"/>
521 <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"/>