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">
14 <group colspan="4" col="6">
15 <field name="name" select="1"/>
16 <field name="parent_id"/>
17 <field name="manager" select="1"/>
18 <field name="date_start"/>
19 <field name="date_end"/>
20 <field name="progress_rate" widget="progressbar"/>
22 <notebook colspan="4">
23 <page string="Administration">
24 <field name="priority"/>
25 <field name="planned_hours" widget="float_time"/>
26 <field name="effective_hours" widget="float_time"/>
27 <field name="warn_manager"/>
28 <field name="timesheet_id"/>
29 <field name="active" select="2"/>
31 <separator colspan="4" string="Project's members"/>
32 <field colspan="4" name="members" nolabel="1"/>
33 <group col="6" colspan="8">
35 <button name="settemplate" string="set as template" type="object" states="open"/>
36 <button name="resetproject" string="reset as project" type="object" states="template"/>
37 <button name="duplicatetemplate" string="duplicate template" type="object" states="template"/>
40 <page groups="base.group_extended" string="Partner Info">
41 <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
42 <field domain="[('partner_id','=',partner_id)]" name="contact_id" select="2"/>
43 <field name="category_id" select="2"/>
44 <field name="warn_customer"/>
46 <separator colspan="2" string="Mail Header"/>
47 <separator colspan="2" string="Mail Footer"/>
48 <field name="warn_header" nolabel="1" colspan="2"/>
49 <field name="warn_footer" nolabel="1" colspan="2"/>
50 <group col="3" colspan="4">
51 <label string="Task: %%(name)s"/>
52 <label string="User: %%(user_id)s"/>
53 <label string="ID: %%(task_id)s"/>
54 <label string="Status: %%(state)s"/>
55 <label string="Date Start: %%(date_start)s"/>
56 <label string="Date Stop: %%(date_stop)s"/>
60 <field colspan="4" name="notes" nolabel="1"/>
67 <record id="view_project" model="ir.ui.view">
68 <field name="name">project.project.tree</field>
69 <field name="model">project.project</field>
70 <field name="type">tree</field>
71 <field name="field_parent">child_id</field>
72 <field name="arch" type="xml">
73 <tree string="Projects">
75 <field name="manager"/>
76 <field name="partner_id"/>
77 <field name="planned_hours" widget="float_time"/>
78 <field name="effective_hours" widget="float_time"/>
79 <field name="progress_rate" widget="progressbar"/>
84 <record id="open_view_all_project" model="ir.actions.act_window">
85 <field name="name">All Projects</field>
86 <field name="res_model">project.project</field>
87 <field name="view_type">tree</field>
88 <field name="domain">[('parent_id','=',False)]</field>
89 <field name="view_id" ref="view_project"/>
91 <menuitem action="open_view_all_project" id="menu_all_project" parent="project.menu_main"/>
93 <record id="open_view_project" model="ir.actions.act_window">
94 <field name="name">New Project</field>
95 <field name="res_model">project.project</field>
96 <field name="view_type">form</field>
97 <field name="view_mode">form,tree,calendar</field>
98 <field name="view_id" eval="False"/>
100 <menuitem action="open_view_project" id="menu_open_view_project" parent="menu_all_project"/>
103 <record id="open_view_all_project_unclosed" model="ir.actions.act_window">
104 <field name="name">Unclosed projects</field>
105 <field name="res_model">project.project</field>
106 <field name="view_type">tree</field>
107 <field name="domain">[('parent_id','=',False),('state','<>','cancelled'),('state','<>','done')]</field>
108 <field name="view_id" ref="view_project"/>
110 <menuitem action="open_view_all_project_unclosed" id="menu_all_project_unclosed" parent="project.menu_all_project"/>
113 <record id="open_view_all_project_unclosed_open" model="ir.actions.act_window">
114 <field name="name">Open projects</field>
115 <field name="res_model">project.project</field>
116 <field name="view_type">tree</field>
117 <field name="domain">[('parent_id','=',False),('state','=','open')]</field>
118 <field name="view_id" ref="view_project"/>
120 <menuitem action="open_view_all_project_unclosed_open" id="menu_all_project_unclosed_open" parent="project.menu_all_project_unclosed"/>
123 <record id="open_view_project_open" model="ir.actions.act_window">
124 <field name="name">Open projects</field>
125 <field name="res_model">project.project</field>
126 <field name="view_type">form</field>
127 <field name="domain">[('state','=','open')]</field>
128 <field name="view_id" ref="view_project"/>
130 <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"/>
133 <record id="view_task_work_form" model="ir.ui.view">
134 <field name="name">project.task.work.form</field>
135 <field name="model">project.task.work</field>
136 <field name="type">form</field>
137 <field name="arch" type="xml">
138 <form string="Task Work">
139 <field colspan="4" name="name" select="1"/>
140 <field name="hours" select="1" widget="float_time"/>
141 <field name="date" select="1"/>
142 <field name="user_id" select="1"/>
147 <record id="view_task_work_tree" model="ir.ui.view">
148 <field name="name">project.task.work.tree</field>
149 <field name="model">project.task.work</field>
150 <field name="type">tree</field>
151 <field name="arch" type="xml">
152 <tree editable="top" string="Task Work">
155 <field name="hours" widget="float_time"/>
156 <field name="user_id"/>
161 <record id="view_my_project" model="ir.ui.view">
162 <field name="name">project.project.tree</field>
163 <field name="model">project.project</field>
164 <field name="type">tree</field>
165 <field name="field_parent">child_id</field>
166 <field name="arch" type="xml">
167 <tree string="My projects">
169 <field name="partner_id"/>
170 <field name="planned_hours" widget="float_time"/>
171 <field name="effective_hours" widget="float_time"/>
172 <field name="progress_rate" widget="progressbar"/>
173 <field name="state"/>
177 <record id="open_view_my_project" model="ir.actions.act_window">
178 <field name="name">My projects</field>
179 <field name="res_model">project.project</field>
180 <field name="view_type">tree</field>
181 <field name="domain">[('manager', '=', uid)]</field>
182 <field name="view_id" ref="view_my_project"/>
184 <menuitem action="open_view_my_project" id="menu_open_view_my_project" parent="project.menu_main"/>
187 <record id="open_view_my_project_open_unclosed" model="ir.actions.act_window">
188 <field name="name">My unclosed projects</field>
189 <field name="res_model">project.project</field>
190 <field name="view_type">tree</field>
191 <field name="domain">[('manager', '=', uid),('state','<>','cancelled'),('state','<>','done')]</field>
192 <field name="view_id" ref="view_my_project"/>
194 <menuitem action="open_view_my_project_open_unclosed" id="menu_open_view_my_project_open_unclosed" parent="project.menu_open_view_my_project"/>
197 <record id="open_view_my_project_open" model="ir.actions.act_window">
198 <field name="name">My open projects</field>
199 <field name="res_model">project.project</field>
200 <field name="view_type">tree</field>
201 <field name="domain">[('manager', '=', uid),('state','=','open')]</field>
202 <field name="view_id" ref="view_my_project"/>
204 <menuitem action="open_view_my_project_open" id="menu_open_view_my_project_open" parent="project.menu_open_view_my_project_open_unclosed"/>
207 <record id="view_task_form2" model="ir.ui.view">
208 <field name="name">project.task.form</field>
209 <field name="model">project.task</field>
210 <field name="type">form</field>
211 <field eval="2" name="priority"/>
212 <field name="arch" type="xml">
213 <form string="Task edition">
214 <group colspan="6" col="6">
215 <field name="name" select="1"/>
216 <field name="project_id" required="1" select="1"/>
217 <field name="total_hours" widget="float_time"/>
218 <field name="user_id" select="1"/>
219 <field name="date_deadline" select="2"/>
220 <field name="progress" widget="progressbar"/>
222 <notebook colspan="4">
223 <page string="Information">
227 on_change="onchange_planned(planned_hours,effective_hours)"/>
228 <field name="delay_hours" widget="float_time"/>
229 <field name="remaining_hours" select="2" widget="float_time"/>
230 <field name="effective_hours" widget="float_time"/>
232 <field colspan="4" name="description" nolabel="1" select="2"/>
233 <field colspan="4" name="work_ids" nolabel="1"/>
235 <group col="11" colspan="4">
236 <field name="state" select="1"/>
237 <button name="do_draft" states="open" string="Set Draft" type="object"/>
238 <button name="do_open" states="pending,draft" string="Open" type="object"/>
239 <button name="do_reopen" states="done,cancelled" string="Re-open" type="object"/>
240 <button name="do_pending" states="open" string="Set Pending" type="object"/>
241 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action"/>
242 <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/>
243 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
247 <page groups="base.group_extended" string="Delegations">
248 <field colspan="4" name="history" nolabel="1"/>
249 <field colspan="4" height="150" name="child_ids" nolabel="1">
250 <tree string="Delegated tasks">
252 <field name="user_id"/>
253 <field name="date_deadline"/>
254 <field name="planned_hours" widget="float_time"/>
255 <field name="effective_hours" widget="float_time"/>
256 <field name="state"/>
259 <field colspan="4" name="parent_id"/>
261 <page groups="base.group_extended" string="Extra Info">
262 <separator string="Planning" colspan="2"/>
263 <separator string="Dates" colspan="2"/>
264 <field name="priority"/>
265 <field name="date_start" select="2"/>
266 <field name="sequence"/>
267 <field name="date_close" select="2"/>
270 <field name="active" select="2"/>
271 <field name="partner_id" select="2"/>
272 <separator colspan="4" string="Notes"/>
273 <field colspan="4" name="notes" nolabel="1"/>
279 <record id="view_task_tree2" model="ir.ui.view">
280 <field name="name">project.task.tree</field>
281 <field name="model">project.task</field>
282 <field name="type">tree</field>
283 <field eval="2" name="priority"/>
284 <field name="arch" type="xml">
285 <tree colors="grey:state in ('cancel','done');blue:remaining_hours<0;red:bool(date_deadline) & (date_deadline<current_date) & (state in ('draft','open'))" string="Tasks">
286 <field name="sequence"/>
288 <field name="project_id"/>
289 <field name="user_id"/>
290 <field name="date_deadline"/>
291 <field name="planned_hours" sum="Planned" widget="float_time"/>
292 <field name="delay_hours" sum="Delay" widget="float_time"/>
293 <field name="progress" widget="progressbar"/>
294 <field name="priority"/>
295 <field name="state"/>
296 <field name="remaining_hours" invisible="1"/>
301 <record id="view_task_calendar" model="ir.ui.view">
302 <field name="name">project.task.calendar</field>
303 <field name="model">project.task</field>
304 <field name="type">calendar</field>
305 <field eval="2" name="priority"/>
306 <field name="arch" type="xml">
307 <calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
309 <field name="project_id"/>
313 <record model="ir.ui.view" id="view_project_task_graph">
314 <field name="name">project.task.graph</field>
315 <field name="model">project.task</field>
316 <field name="type">graph</field>
317 <field name="arch" type="xml">
318 <graph string="Project Tasks" type="bar">
319 <field name="project_id"/>
320 <field name="planned_hours" operator="+"/>
321 <field name="delay_hours" operator="+"/>
326 <record id="action_view_task" model="ir.actions.act_window">
327 <field name="name">All Tasks</field>
328 <field name="res_model">project.task</field>
329 <field name="view_type">form</field>
330 <field name="view_mode">tree,form,calendar,graph</field>
331 <field eval="False" name="view_id"/>
333 <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_main"/>
335 <record id="action_view_task4" model="ir.actions.act_window">
336 <field name="name">My Tasks</field>
337 <field name="res_model">project.task</field>
338 <field name="view_type">form</field>
339 <field name="view_mode">tree,form,calendar,graph</field>
340 <field name="domain">[('user_id', '=', uid)]</field>
342 <menuitem action="action_view_task4" id="menu_action_view_task4" parent="project.menu_main"/>
344 <record id="action_view_task5_pending" model="ir.actions.act_window">
345 <field name="name">My Pending Tasks</field>
346 <field name="res_model">project.task</field>
347 <field name="view_type">form</field>
348 <field name="view_mode">tree,form,calendar,graph</field>
349 <field name="domain">[('user_id', '=', uid),('state','=','pending')]</field>
351 <menuitem action="action_view_task5_pending" id="menu_tasks_yours_pending" parent="menu_action_view_task4"/>
353 <record id="action_view_task5" model="ir.actions.act_window">
354 <field name="name">My Open Tasks</field>
355 <field name="res_model">project.task</field>
356 <field name="view_type">form</field>
357 <field name="view_mode">tree,form,calendar,graph</field>
358 <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
360 <menuitem action="action_view_task5" id="menu_tasks_yours" parent="menu_action_view_task4"/>
362 <record id="action_view_task5_prog" model="ir.actions.act_window">
363 <field name="name">My Tasks in Progress</field>
364 <field name="res_model">project.task</field>
365 <field name="view_type">form</field>
366 <field name="view_mode">tree,form,calendar,graph</field>
367 <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
369 <menuitem action="action_view_task5_prog" id="menu_tasks_yours_prog" parent="menu_action_view_task4"/>
371 <record id="action_view_task_new" model="ir.actions.act_window">
372 <field name="name">New Task</field>
373 <field name="res_model">project.task</field>
374 <field name="view_type">form</field>
375 <field name="view_mode">form,tree,calendar,graph</field>
377 <menuitem action="action_view_task_new" id="menu_action_view_task_new" parent="menu_action_view_task4"/>
379 <record id="action_view_task6" model="ir.actions.act_window">
380 <field name="name">Open Tasks</field>
381 <field name="res_model">project.task</field>
382 <field name="view_type">form</field>
383 <field name="view_mode">tree,form,calendar,graph</field>
384 <field name="domain">[('state', '=', 'open')]</field>
386 <menuitem action="action_view_task6" id="menu_action_view_task6" parent="project.menu_action_view_task"/>
388 <record id="action_view_task6_prog" model="ir.actions.act_window">
389 <field name="name">Tasks in Progress</field>
390 <field name="res_model">project.task</field>
391 <field name="view_type">form</field>
392 <field name="view_mode">tree,form,calendar,graph</field>
393 <field name="domain">[('state', '=', 'progress')]</field>
395 <menuitem action="action_view_task6_prog" id="menu_action_view_task6_prog" parent="project.menu_action_view_task"/>
397 <record id="action_view_task7" model="ir.actions.act_window">
398 <field name="name">Unassigned Tasks</field>
399 <field name="res_model">project.task</field>
400 <field name="view_type">form</field>
401 <field name="view_mode">tree,form,calendar,graph</field>
402 <field name="domain">[('user_id', '=', False)]</field>
404 <menuitem action="action_view_task7" id="menu_action_view_task7" parent="project.menu_action_view_task"/>
406 <!-- Opening task when double clicking on project -->
407 <record id="dblc_proj" model="ir.actions.act_window">
408 <field name="res_model">project.task</field>
409 <field name="name">Project's tasks</field>
410 <field name="view_type">form</field>
411 <field name="view_mode">tree,form,calendar,graph</field>
412 <field name="domain">[('project_id', 'child_of', [active_id])]</field>
414 <record id="ir_project_task_open" model="ir.values">
415 <field eval=" 'tree_but_open'" name="key2"/>
416 <field eval="'project.project'" name="model"/>
417 <field name="name">View project's tasks</field>
418 <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
419 <field eval="True" name="object"/>
423 <record id="task_type_edit" model="ir.ui.view">
424 <field name="name">project.task.type.form</field>
425 <field name="model">project.task.type</field>
426 <field name="type">form</field>
427 <field name="arch" type="xml">
428 <form string="Task type">
429 <field colspan="4" name="name" select="1"/>
430 <field colspan="4" name="description" select="1"/>
434 <record id="task_type_tree" model="ir.ui.view">
435 <field name="name">project.task.type.tree</field>
436 <field name="model">project.task.type</field>
437 <field name="type">tree</field>
438 <field name="arch" type="xml">
439 <tree string="Task type">
444 <record id="open_task_type_form" model="ir.actions.act_window">
445 <field name="name">Task Types</field>
446 <field name="res_model">project.task.type</field>
447 <field name="view_type">form</field>
448 <field name="view_id" ref="task_type_tree"/>
450 <menuitem action="open_task_type_form" id="menu_task_types" parent="project.menu_definitions"/>
452 <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"/>
455 domain="[('project_id', '=', active_id)]"
456 id="act_project_project_2_project_task_all"
458 res_model="project.task"
459 src_model="project.project"
460 view_mode="tree,form,calendar,graph"
464 domain="[('project_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]"
465 id="act_project_project_2_project_task_opened"
467 res_model="project.task"
468 src_model="project.project"
469 view_mode="tree,form,calendar,graph"
472 <act_window id="act_project_project_2_project_task_all" name="All tasks" res_model="project.task" src_model="project.project" view_mode="tree,form" view_type="form"/>
474 <record id="task_company" model="ir.ui.view">
475 <field name="name">res.company.task.config</field>
476 <field name="model">res.company</field>
477 <field name="type">form</field>
478 <field name="inherit_id" ref="base.view_company_form"/>
479 <field name="arch" type="xml">
480 <page string="Configuration" position="inside">
481 <separator string="Project Management" colspan="4"/>
482 <field name="project_time_mode"/>
488 <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"/>
490 <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"/>