1 <?xml version="1.0" encoding="utf-8"?>
4 <menuitem icon="terp-project" id="base.menu_main_pm" name="Project Management" sequence="1"/>
5 <menuitem id="menu_project_management" name="Project Management" parent="base.menu_main_pm" sequence="1"/>
7 <menuitem id="menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
10 <record id="edit_project" model="ir.ui.view">
11 <field name="name">project.project.form</field>
12 <field name="model">project.project</field>
13 <field name="type">form</field>
14 <field name="arch" type="xml">
15 <form string="Project">
16 <group colspan="6" col="6">
17 <field name="name" string="Project Name" select="1"/>
18 <field name="parent_id" string="Parent Project"/>
19 <field name="user_id" string="Project Manager" select="1"/>
20 <field name="date_start"/>
22 <field name="progress_rate" widget="progressbar"/>
24 <notebook colspan="4">
25 <page string="Administration">
26 <group col="2" colspan="2">
27 <separator colspan="2" string="Scheduling"/>
28 <field name="priority"/>
29 <field name="active" select="2"/>
31 <group col="2" colspan="2">
32 <separator colspan="2" string="Performance"/>
33 <field name="planned_hours" widget="float_time"/>
34 <field name="effective_hours" widget="float_time"/>
36 <group col="2" colspan="2" name="misc">
37 <separator colspan="2" string="Miscelleanous"/>
38 <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
39 <field name="warn_manager"/>
43 <separator colspan="4" string="Project's members"/>
44 <field colspan="4" name="members" nolabel="1"/>
45 <group col="9" colspan="8">
46 <field name="state" select="1"/>
47 <button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/>
48 <button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,done" icon="gtk-ok"/>
49 <button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
50 <button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
51 <button name="set_done" string="Done" type="object" states="open,pending" icon="gtk-jump-to"/>
52 <button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/>
54 string="New Project Based on Template"
55 name="%(wizard_duplicate_template)d" type="action"
56 states="template" icon="gtk-new"/>
59 <page groups="base.group_extended" string="Partner Info">
60 <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
61 <field domain="[('partner_id','=',partner_id)]" name="contact_id" select="2"/>
62 <field name="warn_customer"/>
64 <separator colspan="2" string="Mail Header"/>
65 <separator colspan="2" string="Mail Footer"/>
66 <field name="warn_header" nolabel="1" colspan="2"/>
67 <field name="warn_footer" nolabel="1" colspan="2"/>
68 <group col="3" colspan="4">
69 <separator string="Automatic variables for headers and footer. Use exactly the same notation." colspan="4"/>
70 <label string="Task: %%(name)s"/>
71 <label string="User: %%(user_id)s"/>
72 <label string="ID: %%(task_id)s"/>
73 <label string="Status: %%(state)s"/>
74 <label string="Date Start: %%(date_start)s"/>
75 <label string="Date Stop: %%(date_stop)s"/>
78 <page string="Tasks Stages" groups="base.group_extended">
79 <field nolabel="1" name="type_ids" colspan="4"/>
82 <field colspan="4" name="description" nolabel="1"/>
89 <record id="view_project_list" model="ir.ui.view">
90 <field name="name">project.project.list</field>
91 <field name="model">project.project</field>
92 <field name="type">tree</field>
93 <field name="priority" eval="5"/>
94 <field name="arch" type="xml">
95 <tree string="Projects">
96 <field name="complete_name" string="Project Name"/>
97 <field name="user_id" string="Project Manager"/>
98 <field name="partner_id" string="Partner"/>
99 <field name="effective_hours" widget="float_time"/>
100 <field name="total_hours" widget="float_time"/>
101 <field name="state"/>
106 <record id="view_project_project_filter" model="ir.ui.view">
107 <field name="name">project.project.select</field>
108 <field name="model">project.project</field>
109 <field name="type">search</field>
110 <field name="arch" type="xml">
111 <search string="Search Project">
112 <group col='15' colspan='4'>
113 <filter icon="terp-project" string="Open" domain="[('state', '=', 'open')]" help="Open Projects" default="1"/>
114 <filter icon="terp-project" string="Pending" domain="[('state', '=', 'pending')]" help="Pending Projects"/>
115 <separator orientation="vertical"/>
116 <filter icon="terp-project" string="Manager" domain="[('user_id', '=', uid)]" help="Projects in which I am a manager."/>
117 <filter icon="terp-project" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member." default="1"/>
118 <separator orientation="vertical"/>
119 <filter icon="terp-project" string="Templates" domain="[('state','=','template')]" help="Template Projects"/>
120 <separator orientation="vertical"/>
121 <field name="name" string="Project Name"/>
122 <field name="user_id" string="Project Manager"/>
123 <field name="partner_id" string="Partner"/>
124 <field name="state"/>
130 <record id="view_project" model="ir.ui.view">
131 <field name="name">project.project.tree</field>
132 <field name="model">project.project</field>
133 <field name="type">tree</field>
134 <field name="field_parent">child_ids</field>
135 <field name="arch" type="xml">
136 <tree string="Projects">
137 <field name="sequence" invisible="1"/>
138 <field name="name" string="Project Name"/>
139 <field name="user_id" string="Project Manager"/>
140 <field name="partner_id" string="Partner"/>
141 <field name="planned_hours" widget="float_time"/>
142 <field name="total_hours" widget="float_time"/>
143 <field name="effective_hours" widget="float_time"/>
144 <field name="progress_rate" widget="progressbar"/>
145 <field name="state"/>
149 <!--<menuitem id="menu_all_project" parent="base.menu_main_pm" name="Projects"/> -->
151 <record id="open_view_project_all" model="ir.actions.act_window">
152 <field name="name">Projects</field>
153 <field name="res_model">project.project</field>
154 <field name="view_type">form</field>
155 <field name="domain">[]</field>
156 <field name="view_id" ref="view_project"/>
157 <field name="search_view_id" ref="view_project_project_filter"/>
159 <menuitem action="open_view_project_all" id="menu_open_view_project_all" parent="menu_project_management" sequence="1"/>
161 <record id="open_view_template_project" model="ir.actions.act_window">
162 <field name="name">Templates of Projects</field>
163 <field name="res_model">project.project</field>
164 <field name="view_type">form</field>
165 <field name="domain">[('state','=','template')]</field>
166 <field name="view_id" ref="view_project"/>
168 <!--<menuitem action="open_view_template_project" id="menu_template_project" parent="project.menu_definitions"/>-->
169 <menuitem id="menu_template_project_specification" parent="project.menu_definitions" name="Specification" sequence="1"/>
170 <menuitem action="open_view_template_project" id="menu_template_project" parent="project.menu_template_project_specification" name="Specification Template"/>
171 <record id="view_task_work_form" model="ir.ui.view">
172 <field name="name">project.task.work.form</field>
173 <field name="model">project.task.work</field>
174 <field name="type">form</field>
175 <field name="arch" type="xml">
176 <form string="Task Work">
177 <field colspan="4" name="name" select="1"/>
178 <field name="hours" select="1" widget="float_time"/>
179 <field name="date" select="1"/>
180 <field name="user_id" select="1"/>
181 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
186 <record id="view_task_work_tree" model="ir.ui.view">
187 <field name="name">project.task.work.tree</field>
188 <field name="model">project.task.work</field>
189 <field name="type">tree</field>
190 <field name="arch" type="xml">
191 <tree editable="top" string="Task Work">
194 <field name="hours" widget="float_time"/>
195 <field name="user_id"/>
200 <record id="view_config_compute_remaining" model="ir.ui.view">
201 <field name="name">Compute Remaining Hours </field>
202 <field name="model">config.compute.remaining</field>
203 <field name="type">form</field>
204 <field name="arch" type="xml">
205 <form string="Remaining Hours">
206 <separator colspan="4" string="Change Remaining Hours"/>
208 <field name="remaining_hours" widget="float_time"/>
209 <group col="4" colspan="4">
210 <button icon="gtk-cancel" special="cancel" string="Cancel"/>
211 <button icon="gtk-refresh" name="compute_hours" string="Update" type="object"/>
217 <record id="action_config_compute_remaining" model="ir.actions.act_window">
218 <field name="name">Compute Remaining Hours</field>
219 <field name="type">ir.actions.act_window</field>
220 <field name="res_model">config.compute.remaining</field>
221 <field name="view_type">form</field>
222 <field name="view_mode">form</field>
223 <field name="target">new</field>
227 <record id="view_task_form2" model="ir.ui.view">
228 <field name="name">project.task.form</field>
229 <field name="model">project.task</field>
230 <field name="type">form</field>
231 <field eval="2" name="priority"/>
232 <field name="arch" type="xml">
233 <form string="Task edition">
234 <group colspan="6" col="6">
235 <field name="name" select="1"/>
236 <field name="project_id" required="1" select="1" domain="['|',('user_id','=',uid),('members','=',uid)]"/>
237 <field name="total_hours" widget="float_time"/>
238 <field name="date_deadline" select="2"/>
239 <field name="user_id" select="1"/>
240 <field name="progress" widget="progressbar"/>
242 <notebook colspan="4">
243 <page string="Information">
244 <group col="3" colspan="2">
248 attrs="{'readonly':[('state','!=','draft')]}"
249 on_change="onchange_planned(planned_hours, effective_hours)"/>
250 <field name="remaining_hours" select="2" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" colspan="2"/>
251 <button name="%(action_config_compute_remaining)d" string="Review" type="action" colspan="1" target="new" states="open,pending" icon="gtk-edit"/>
253 <group col="2" colspan="2">
254 <field name="delay_hours" widget="float_time"/>
255 <field name="effective_hours" widget="float_time"/>
258 <field colspan="4" name="description" nolabel="1" select="2" attrs="{'readonly':[('state','=','done')]}" widget="text_wiki"/>
259 <field colspan="4" name="work_ids" nolabel="1" attrs="{'readonly':[('state','in',['draft','done'])]}">
260 <tree string="Task Work" editable="top">
261 <field name="name" />
262 <field name="hours" widget="float_time" />
263 <field name="user_id" />
264 <field name="date" />
268 <group col="11" colspan="4">
269 <field name="state" select="1"/>
270 <button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent"/>
271 <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute"/>
272 <button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert"/>
273 <button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
274 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/>
275 <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action" icon="gtk-jump-to"/>
276 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
279 <page groups="base.group_extended" string="Delegations">
280 <separator string="Parent Tasks" colspan="4"/>
281 <field colspan="4" height="150" name="parent_ids" nolabel="1"/>
282 <separator string="Delegated tasks" colspan="4"/>
283 <field colspan="4" height="150" name="child_ids" nolabel="1">
284 <tree string="Delegated tasks">
286 <field name="user_id"/>
287 <field name="state"/>
288 <field name="effective_hours" widget="float_time"/>
289 <field name="progress" widget="progressbar"/>
290 <field name="remaining_hours" widget="float_time"/>
291 <field name="date_deadline"/>
296 <page groups="base.group_extended" string="Extra Info" attrs="{'readonly':[('state','=','done')]}">
297 <group colspan="2" col="2">
298 <separator string="Planning" colspan="2"/>
299 <field name="priority"/>
300 <field name="sequence"/>
302 <group colspan="2" col="2">
303 <separator string="Dates" colspan="2"/>
304 <field name="date_start"/>
305 <field name="date_end"/>
307 <separator string="Miscelleanous" colspan="4"/>
308 <field name="partner_id" select="2"/>
309 <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
310 <group col="4" colspan="2">
311 <field name="type" widget="selection" />
312 <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
313 <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
315 <field name="active" select="2"/>
316 <separator colspan="4" string="Notes"/>
317 <field colspan="4" name="notes" nolabel="1"/>
323 <record id="view_task_tree2" model="ir.ui.view">
324 <field name="name">project.task.tree</field>
325 <field name="model">project.task</field>
326 <field name="type">tree</field>
327 <field eval="2" name="priority"/>
328 <field name="arch" type="xml">
329 <tree colors="grey:state in ('cancelled','done');blue:remaining_hours<0;red:bool(date_deadline) and (date_deadline<current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks">
330 <field name="sequence" invisible="1"/>
332 <field name="planned_hours" widget="float_time" on_change="onchange_planned(planned_hours, effective_hours)" invisible="not context.get('set_visible',False)"/>
333 <field name="project_id" icon="gtk-indent" domain="['|',('user_id','=',uid),('members','=',uid)]"/>
334 <field name="user_id"/>
335 <field name="delegated_user_id" invisible="context.get('show_delegated', True)"/>
336 <field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/>
337 <field name="date_deadline" invisible="context.get('set_visible',False)"/>
338 <field name="type" groups="base.group_extended" invisible="context.get('set_visible',False)"/>
339 <field name="date_start" invisible="1"/>
340 <field name="date_end" invisible="1"/>
341 <button name="next_type" invisible="context.get('set_visible',False)"
342 states="draft,open,pending"
343 string="Change Stage"
345 icon="gtk-go-forward"
346 groups="base.group_extended"
348 <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
349 <field name="state" invisible="context.get('set_visible',False)"/>
350 <button name="do_open" states="pending,draft,done,cancel" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
351 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-execute" help="For changing to delegate state"/>
352 <button name="%(wizard_close_task)d" states="draft,pending,open" string="Done" type="action" icon="gtk-jump-to" help="For changing to done state"/>
353 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
358 <record id="view_task_calendar" model="ir.ui.view">
359 <field name="name">project.task.calendar</field>
360 <field name="model">project.task</field>
361 <field name="type">calendar</field>
362 <field eval="2" name="priority"/>
363 <field name="arch" type="xml">
364 <calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
366 <field name="project_id"/>
371 <record id="view_task_gantt" model="ir.ui.view">
372 <field name="name">project.task.gantt</field>
373 <field name="model">project.task</field>
374 <field name="type">gantt</field>
375 <field eval="2" name="priority"/>
376 <field name="arch" type="xml">
377 <gantt color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
378 <level object="project.project" link="project_id" domain="[]">
385 <record id="view_project_task_graph" model="ir.ui.view">
386 <field name="name">project.task.graph</field>
387 <field name="model">project.task</field>
388 <field name="type">graph</field>
389 <field name="arch" type="xml">
390 <graph string="Project Tasks" type="bar">
391 <field name="project_id"/>
392 <field name="planned_hours" operator="+"/>
393 <field name="delay_hours" operator="+"/>
398 <record id="view_task_search_form" model="ir.ui.view">
399 <field name="name">project.task.search.form</field>
400 <field name="model">project.task</field>
401 <field name="type">search</field>
402 <field name="arch" type="xml">
403 <search string="Task Edition">
404 <group col="20" colspan="4">
405 <filter string="Current" domain="[('state','in',('open','draft'))]" help="Draft, Open and Pending Tasks" icon="terp-project" default="1"/>
406 <filter string="In Progress" domain="[('state','=','open')]" help="Open Tasks" icon="terp-project"/>
407 <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-project"/>
408 <separator orientation="vertical"/>
409 <filter string="Deadlines" domain="[('date_deadline','<>',False)]" help="Show only tasks having a deadline" icon="terp-project"/>
410 <separator orientation="vertical"/>
411 <field name="name" select="1"/>
412 <field name="project_id" select="1" widget="selection" default="context.get('project_id', False)">
413 <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-project"/>
414 <filter domain="[('project_id','=',False)]" help="Tasks not assigned to a project" icon="terp-project"/>
416 <field name="user_id" select="1" widget="selection">
417 <filter domain="[('user_id','=',uid)]" help="My Tasks" icon="gtk-execute" default="1"/>
418 <filter domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="gtk-execute" separator="1"/>
422 <group expand="1" string="Group By..." colspan="4" col="20">
423 <filter string="Users" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
424 <filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}"/>
425 <filter string="Stage" icon="terp-project" domain="[]" context="{'group_by':'type'}"/>
426 <filter string="State" icon="terp-project" domain="[]" context="{'group_by':'state'}"/>
427 <separator orientation="vertical"/>
428 <filter string="Deadline" icon="terp-project" domain="[]" context="{'group_by':'date_deadline'}"/>
429 <filter string="Start Date" icon="terp-project" domain="[]" context="{'group_by':'date_start'}"/>
430 <filter string="End Date" icon="terp-project" domain="[]" context="{'group_by':'date_end'}"/>
436 <record id="action_view_task" model="ir.actions.act_window">
437 <field name="name">Tasks</field>
438 <field name="res_model">project.task</field>
439 <field name="view_type">form</field>
440 <field name="view_mode">tree,form,calendar,gantt,graph</field>
441 <field eval="False" name="filter"/>
442 <field name="view_id" ref="view_task_tree2"/>
443 <field name="search_view_id" ref="view_task_search_form"/>
445 <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="2"/>
447 <record id="action_view_task_overpassed_draft" model="ir.actions.act_window">
448 <field name="name">Overpassed Tasks</field>
449 <field name="res_model">project.task</field>
450 <field name="view_type">form</field>
451 <field name="view_mode">tree,form,calendar,graph</field>
452 <field name="domain">[('date_deadline','<',time.strftime('%Y-%m-%d')),('state','in',('draft','pending','open'))]</field>
453 <field name="filter" eval="True"/>
454 <field name="search_view_id" ref="view_task_search_form"/>
457 <!-- Opening task when double clicking on project -->
458 <record id="dblc_proj" model="ir.actions.act_window">
459 <field name="res_model">project.task</field>
460 <field name="name">Project's tasks</field>
461 <field name="view_type">form</field>
462 <field name="view_mode">tree,form,calendar,graph,gantt</field>
463 <field name="domain">[('project_id', 'child_of', [active_id])]</field>
464 <field name="context">{'project_id':active_id, 'active_test':False}</field>
466 <record id="ir_project_task_open" model="ir.values">
467 <field eval=" 'tree_but_open'" name="key2"/>
468 <field eval="'project.project'" name="model"/>
469 <field name="name">View project's tasks</field>
470 <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
471 <field eval="True" name="object"/>
475 <record id="task_type_edit" model="ir.ui.view">
476 <field name="name">project.task.type.form</field>
477 <field name="model">project.task.type</field>
478 <field name="type">form</field>
479 <field name="arch" type="xml">
480 <form string="Task Stage">
481 <field name="name" select="1"/>
482 <field name="sequence"/>
483 <field colspan="4" name="description" select="1"/>
487 <record id="task_type_tree" model="ir.ui.view">
488 <field name="name">project.task.type.tree</field>
489 <field name="model">project.task.type</field>
490 <field name="type">tree</field>
491 <field name="arch" type="xml">
492 <tree string="Task Stage">
493 <field name="sequence"/>
498 <record id="open_task_type_form" model="ir.actions.act_window">
499 <field name="name">Task Types</field>
500 <field name="res_model">project.task.type</field>
501 <field name="view_type">form</field>
502 <field name="view_id" ref="task_type_tree"/>
504 <menuitem action="open_task_type_form" id="menu_task_types" parent="project.menu_definitions"/>
506 <act_window domain="[('user_id', '=', 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"/>
509 domain="[('project_id', '=', active_id)]"
510 id="act_project_project_2_project_task_new"
512 res_model="project.task"
513 src_model="project.project"
514 view_mode="form,tree,calendar,graph"
518 domain="[('project_id', '=', active_id)]"
519 id="act_project_project_2_project_task_all"
521 res_model="project.task"
522 src_model="project.project"
523 view_mode="tree,form,calendar,graph"
527 domain="[('project_id', '=', active_id),('state', '<>', 'cancelled'),('state', '<>', 'done')]"
528 id="act_project_project_2_project_task_opened"
529 name="Tasks in Progress"
530 res_model="project.task"
531 src_model="project.project"
532 view_mode="tree,form,calendar,graph"
535 <record id="task_company" model="ir.ui.view">
536 <field name="name">res.company.task.config</field>
537 <field name="model">res.company</field>
538 <field name="type">form</field>
539 <field name="inherit_id" ref="base.view_company_form"/>
540 <field name="arch" type="xml">
541 <page string="Configuration" position="inside">
542 <separator string="Project Management" colspan="4"/>
543 <field name="project_time_mode_id"/>
551 <record id="view_project_users_form_simple" model="ir.ui.view">
552 <field name="name">res.users.project.form1</field>
553 <field name="model">res.users</field>
554 <field name="type">form</field>
555 <field name="inherit_id" ref="base.view_users_form"/>
556 <field eval="18" name="priority"/>
557 <field name="arch" type="xml">
558 <field name="password" position="after">
559 <field name="context_project_id" completion="1" widget="selection"/>
564 <record model="ir.ui.view" id="view_users_form_project_modif_inherited1">
565 <field name="name">view.users.form.project.modif.inherited1</field>
566 <field name="model">res.users</field>
567 <field name="inherit_id" ref="base.view_users_form_simple_modif" />
568 <field name="type">form</field>
569 <field eval="18" name="priority"/>
570 <field name="arch" type="xml">
571 <page string="Current Activity" position="inside">
572 <field name="context_project_id" completion="1" widget="selection" context="{'user_prefence':True}"/>
578 <record id="view_project_message_form" model="ir.ui.view">
579 <field name="name">project.message.form</field>
580 <field name="model">project.message</field>
581 <field name="type">form</field>
582 <field name="arch" type="xml">
583 <form string="Messages">
585 <field name="subject" select="1"/>
586 <field name="project_id"/>
587 <field name="user_id" select="1"/>
588 <field name="date" select="2"/>
590 <separator string="Description" colspan="4"/>
591 <field name="description" nolabel="1" colspan="4"/>
596 <record id="view_project_message_tree" model="ir.ui.view">
597 <field name="name">project.message.tree</field>
598 <field name="model">project.message</field>
599 <field name="type">tree</field>
600 <field name="arch" type="xml">
601 <tree string="Messages">
602 <field name="subject" select="1"/>
603 <field name="user_id" select="1"/>
604 <field name="project_id" select="1"/>
605 <field name="date" select="1"/>
610 <record id="view_project_message_search" model="ir.ui.view">
611 <field name="name">project.message.search</field>
612 <field name="model">project.message</field>
613 <field name="type">search</field>
614 <field name="arch" type="xml">
615 <search string="Messages">
616 <group col="20" colspan="4">
617 <filter domain="[('date','>=',time.strftime('%%Y-%%m-01'))]" icon="terp-project" string="This Month" />
618 <filter domain="[('date', '=', time.strftime('%%Y-%%m-%%d'))]" icon="terp-project" string="Today" />
620 <separator orientation="vertical"/>
621 <field name="subject"/>
622 <field name="project_id" select="1" widget="selection"/>
623 <field name="user_id" select="1" widget="selection">
624 <filter domain="[('user_id','=',uid)]" help="My Message" icon="gtk-execute" default="1"/>
628 <group expand="1" string="Group By..." colspan="4" col="20">
629 <filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}"/>
630 <filter string="User" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
631 <filter string="Date" icon="terp-project" domain="[]" context="{'group_by':'date'}"/>
637 <record id="action_view_project_messages_tree" model="ir.actions.act_window">
638 <field name="name">Messages</field>
639 <field name="res_model">project.message</field>
640 <field name="view_type">form</field>
641 <field name="view_mode">tree,form</field>
642 <field name="view_id" ref="view_project_message_tree"/>
643 <field name="search_view_id" ref="view_project_message_search"/>
646 <!--<menuitem id="menu_message_main" name="Message" parent="base.menu_main_pm"/>-->
647 <menuitem action="action_view_project_messages_tree" id="menu_message_tree" parent="menu_project_management" sequence="11"/>
649 <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,gantt,calendar,graph" view_type="form"/>
651 <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"/>