[merge]
[odoo/odoo.git] / addons / project / project_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4         <menuitem
5             icon="terp-project" id="base.menu_main_pm"
6             name="Project" sequence="10"
7             groups="group_project_manager,group_project_user"/>
8
9         <menuitem id="menu_project_management" name="Project Management" parent="base.menu_main_pm" sequence="1"/>
10         <menuitem id="menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
11
12         <!-- Project -->
13         <record id="edit_project" model="ir.ui.view">
14             <field name="name">project.project.form</field>
15             <field name="model">project.project</field>
16             <field name="type">form</field>
17             <field name="arch" type="xml">
18                 <form string="Project">
19                     <group colspan="6" col="6">
20                         <field name="name" string="Project Name" select="1"/>
21                         <field name="parent_id" string="Parent Project"/>
22                         <field name="user_id" string="Project Manager" select="1"/>
23                         <field name="date_start"/>
24                         <field name="date"/>
25                         <field name="progress_rate" widget="progressbar"/>
26                     </group>
27                     <notebook colspan="4">
28                         <page string="Administration">
29                             <group col="2" colspan="2">
30                                 <separator colspan="2" string="Scheduling"/>
31                                 <field name="priority"/>
32                                 <field name="active"/>
33                             </group>
34                             <group col="2" colspan="2">
35                                 <separator colspan="2" string="Performance"/>
36                                 <field name="planned_hours" widget="float_time"/>
37                                 <field name="effective_hours" widget="float_time" />
38                             </group>
39                             <group col="2" colspan="2" name="misc">
40                                 <separator colspan="2" string="Miscelleanous"/>
41                                 <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
42                                 <field name="project_escalation_id"/>
43                                 <field name="warn_manager"/>
44                             </group>
45                             <newline/>
46                             <group col="9" colspan="8">
47                                 <field name="state" select="1"/>
48                                 <button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/>
49                                 <button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,done" icon="gtk-ok"/>
50                                 <button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
51                                 <button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
52                                 <button name="set_done" string="Done" type="object" states="open,pending" icon="gtk-jump-to"/>
53                                 <button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/>
54                                 <button
55                                     string="New Project Based on Template"
56                                     name="duplicate_template"  type="object"
57                                     states="template" icon="gtk-new" context="{'parent_id':parent_id}"/>
58                             </group>
59                         </page>
60                         <page string="Members">
61                             <field colspan="4" name="members" nolabel="1"/>
62                         </page>
63                         <page groups="base.group_extended" string="Partner Info">
64                             <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
65                             <field domain="[('partner_id','=',partner_id)]" name="contact_id"/>
66                             <field name="warn_customer"/>
67                             <newline/>
68                             <separator colspan="2" string="Mail Header"/>
69                             <separator colspan="2" string="Mail Footer"/>
70                             <field name="warn_header" nolabel="1" colspan="2"/>
71                             <field name="warn_footer" nolabel="1" colspan="2"/>
72                             <group col="3" colspan="4">
73                                 <separator string="Automatic variables for headers and footer. Use exactly the same notation." colspan="4"/>
74                                 <label string="Task: %%(name)s"/>
75                                 <label string="User: %%(user_id)s"/>
76                                 <label string="ID: %%(task_id)s"/>
77                                 <label string="Status: %%(state)s"/>
78                                 <label string="Date Start: %%(date_start)s"/>
79                                 <label string="Date Stop: %%(date_stop)s"/>
80                             </group>
81                         </page>
82                         <page string="Tasks Stages" groups="base.group_extended">
83                            <field nolabel="1" name="type_ids" colspan="4"/>
84                         </page>
85                         <page string="Notes">
86                             <field colspan="4" name="description" nolabel="1"/>
87                         </page>
88                     </notebook>
89                     <newline/>
90                 </form>
91             </field>
92         </record>
93
94         <record id="view_project_list" model="ir.ui.view">
95             <field name="name">project.project.list</field>
96             <field name="model">project.project</field>
97             <field name="type">tree</field>
98             <field name="priority" eval="5"/>
99             <field name="arch" type="xml">
100                 <tree colors="blue:state in ('pending');black:state in ('open','template','close');gray:state in ('cancelled') " string="Projects">
101                     <field name="complete_name" string="Project Name"/>
102                     <field name="user_id" string="Project Manager"/>
103                     <field name="partner_id" string="Partner"/>
104                     <field name="parent_id" invisible="1"/>
105                     <field name="effective_hours" widget="float_time"/>
106                     <field name="total_hours" widget="float_time"/>
107                     <field name="state"/>
108                 </tree>
109             </field>
110         </record>
111
112        <record id="view_project_project_filter" model="ir.ui.view">
113             <field name="name">project.project.select</field>
114             <field name="model">project.project</field>
115             <field name="type">search</field>
116             <field name="arch" type="xml">
117                 <search string="Search Project">
118                    <group col='15' colspan='4'>
119                        <filter icon="terp-document-new" string="Draft" domain="[('state', 'in',('draft',))]" help="Draft Projects" default="1"/>
120                        <filter icon="terp-check" string="Current" name="Current" domain="[('state', 'in',('open','pending'))]" help="Open and Pending Projects" default="1"/>
121                        <separator orientation="vertical"/>
122                        <filter icon="terp-personal" string="Manager" name="Manager" domain="[('user_id', '=', uid)]" help="Projects in which I am a manager."/>
123                        <filter icon="terp-personal-" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member." default="1"/>
124                        <separator orientation="vertical"/>
125                        <field name="name" string="Project Name"/>
126                        <field name="user_id" string="Project Manager" default="1"/>
127                        <field name="partner_id" string="Partner"/>
128                    </group>
129                    <newline />
130                     <group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended">
131                         <filter string="Parent" name="Parent"  icon="terp-personal" domain = "[]" context="{'group_by':'parent_id'}"/>
132                         <filter string="Users" name="Users"  icon="terp-personal" domain = "[]" context="{'group_by':'user_id'}"/>
133                         <filter string="Partner" name="Partner"  icon="terp-personal" domain = "[]" context="{'group_by':'partner_id'}"/>
134                       </group>
135                </search>
136             </field>
137         </record>
138
139         <record id="view_project" model="ir.ui.view">
140             <field name="name">project.project.tree</field>
141             <field name="model">project.project</field>
142             <field name="type">tree</field>
143             <field name="field_parent">child_ids</field>
144             <field name="arch" type="xml">
145                 <tree colors="red:date and (date&lt;current_date) and (state in ('open'));blue:state in ('draft','pending');grey: state in ('close','cancelled')" string="Projects">
146                     <field name="sequence" invisible="1"/>
147                     <field name="date" invisible="1"/>
148                     <field name="name" string="Project Name"/>
149                     <field name="user_id" string="Project Manager"/>
150                     <field name="partner_id" string="Partner"/>
151                     <field name="planned_hours" widget="float_time"/>
152                     <field name="total_hours" widget="float_time"/>
153                     <field name="effective_hours" widget="float_time"/>
154                     <field name="progress_rate" widget="progressbar"/>
155                     <field name="state"/>
156                 </tree>
157             </field>
158         </record>
159
160         <record id="open_view_project_all" model="ir.actions.act_window">
161             <field name="name">Projects</field>
162             <field name="res_model">project.project</field>
163             <field name="view_type">form</field>
164             <field name="domain">[]</field>
165             <field name="view_id" ref="view_project"/>
166             <field name="search_view_id" ref="view_project_project_filter"/>
167             <field name="context">{'search_default_Current':1}</field>
168         </record>
169         <menuitem action="open_view_project_all" id="menu_open_view_project_all" parent="menu_project_management" sequence="1"/>
170
171         <record id="open_view_template_project" model="ir.actions.act_window">
172             <field name="name">Templates of Projects</field>
173             <field name="res_model">project.project</field>
174             <field name="view_type">form</field>
175             <field name="domain">[('state','=','template')]</field>
176             <field name="view_id" ref="view_project"/>
177         </record>
178 <!--        <menuitem  id="menu_template_project_specification" parent="project.menu_definitions" name="Specification" sequence="1"/>-->
179 <!--        <menuitem action="open_view_template_project" id="menu_template_project" parent="project.menu_template_project_specification" name="Specification Template"/>-->
180
181         <record id="view_task_work_form" model="ir.ui.view">
182             <field name="name">project.task.work.form</field>
183             <field name="model">project.task.work</field>
184             <field name="type">form</field>
185             <field name="arch" type="xml">
186                 <form string="Task Work">
187                     <field colspan="4" name="name" select="1"/>
188                     <field name="hours" select="1" widget="float_time"/>
189                     <field name="date" select="1"/>
190                     <field name="user_id" select="1"/>
191                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
192                 </form>
193             </field>
194         </record>
195
196         <record id="view_task_work_tree" model="ir.ui.view">
197             <field name="name">project.task.work.tree</field>
198             <field name="model">project.task.work</field>
199             <field name="type">tree</field>
200             <field name="arch" type="xml">
201                 <tree editable="top" string="Task Work">
202                     <field name="date"/>
203                     <field name="name"/>
204                     <field name="hours" widget="float_time"/>
205                     <field name="user_id"/>
206                 </tree>
207             </field>
208         </record>
209
210         <record id="view_config_compute_remaining" model="ir.ui.view">
211             <field name="name">Compute Remaining Hours </field>
212             <field name="model">config.compute.remaining</field>
213             <field name="type">form</field>
214             <field name="arch" type="xml">
215                 <form string="Reevaluate Hours">
216                     <separator colspan="4" string="Change Remaining Hours"/>
217                     <newline/>
218                     <field name="remaining_hours" widget="float_time"/>
219                     <separator string="" colspan="4"/>
220                     <group col="4" colspan="4">
221                         <button icon="gtk-cancel" special="cancel" string="Cancel"/>
222                         <button icon="gtk-apply" name="compute_hours" string="Update" type="object" default_focus="1"/>
223                     </group>
224                 </form>
225             </field>
226         </record>
227
228         <record id="action_config_compute_remaining" model="ir.actions.act_window">
229             <field name="name">Compute Remaining Hours</field>
230             <field name="type">ir.actions.act_window</field>
231             <field name="res_model">config.compute.remaining</field>
232             <field name="view_type">form</field>
233             <field name="view_mode">form</field>
234             <field name="target">new</field>
235         </record>
236
237         <!-- Task -->
238         <record id="view_task_form2" model="ir.ui.view">
239             <field name="name">project.task.form</field>
240             <field name="model">project.task</field>
241             <field name="type">form</field>
242             <field eval="2" name="priority"/>
243             <field name="arch" type="xml">
244                 <form string="Task edition">
245                     <group colspan="6" col="6">
246                         <field name="name" select="1"/>
247                         <field name="project_id" required="1" select="1" domain="['|',('user_id','=',uid),('members','=',uid)]"/>
248                         <field name="total_hours" widget="float_time"/>
249                         <field name="date_deadline"/>
250                         <field name="user_id" select="1"/>
251                         <field name="progress" widget="progressbar"/>
252                     </group>
253                     <notebook colspan="4">
254                         <page string="Information">
255                             <group col="2" colspan="2">
256                                 <field
257                                     name="planned_hours"
258                                     widget="float_time"
259                                     attrs="{'readonly':[('state','!=','draft')]}"
260                                     on_change="onchange_planned(planned_hours, effective_hours)"/>
261                                 <field name="effective_hours" widget="float_time"/>
262                             </group>
263                             <group col="3" colspan="2">
264                                 <field name="remaining_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" colspan="2"/>
265                                 <button name="%(action_config_compute_remaining)d" string="Reevaluate" type="action" colspan="1" target="new" states="open,pending" icon="gtk-edit"/>
266
267                                 <field name="delay_hours" widget="float_time"/>
268                             </group>
269
270                             <field colspan="4" name="description" nolabel="1"  attrs="{'readonly':[('state','=','done')]}" widget="text_wiki"/>
271                             <field colspan="4" name="work_ids" nolabel="1" attrs="{'readonly':[('state','in',['draft','done'])]}">
272                                 <tree string="Task Work" editable="top">
273                                     <field name="name" />
274                                     <field name="hours" widget="float_time" />
275                                     <field name="user_id" />
276                                     <field name="date" />
277                                 </tree>
278                             </field>
279                             <newline/>
280                             <group col="11" colspan="4">
281                                 <field name="state" select="1"/>
282                                 <button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent"/>
283                                 <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute"/>
284                                 <button name="%(action_config_compute_remaining)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" />
285                                 <button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
286                                 <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/>
287                                 <button name="do_close" states="pending,open" string="Done" type="object" icon="gtk-apply"/>
288                                 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
289                             </group>
290                         </page>
291                         <page groups="base.group_extended" string="Delegations">
292                             <separator string="Parent Tasks" colspan="4"/>
293                             <field colspan="4" height="150" name="parent_ids" nolabel="1"/>
294                             <separator string="Delegated tasks" colspan="4"/>
295                             <field colspan="4" height="150" name="child_ids" nolabel="1">
296                                 <tree string="Delegated tasks">
297                                     <field name="name"/>
298                                     <field name="user_id"/>
299                                     <field name="state"/>
300                                     <field name="effective_hours" widget="float_time"/>
301                                     <field name="progress" widget="progressbar"/>
302                                     <field name="remaining_hours" widget="float_time"/>
303                                     <field name="date_deadline"/>
304                                 </tree>
305                             </field>
306                         </page>
307
308                         <page groups="base.group_extended" string="Extra Info" attrs="{'readonly':[('state','=','done')]}">
309                             <group colspan="2" col="2">
310                                 <separator string="Planning" colspan="2"/>
311                                 <field name="priority"/>
312                                 <field name="sequence"/>
313                             </group>
314                             <group colspan="2" col="2">
315                                 <separator string="Dates" colspan="2"/>
316                                 <field name="date_start"/>
317                                 <field name="date_end"/>
318                             </group>
319                             <separator string="Miscelleanous" colspan="4"/>
320                             <field name="partner_id"/>
321                             <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
322                             <group col="4" colspan="2">
323                                 <field name="type" widget="selection" />
324                                 <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
325                                 <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
326                             </group>
327                             <field name="active"/>
328                             <separator colspan="4" string="Notes"/>
329                             <field colspan="4" name="notes" nolabel="1"/>
330                         </page>
331                     </notebook>
332                 </form>
333             </field>
334         </record>
335
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 ('cancelled','done');blue:remaining_hours&lt;0 and state in ('pending');red:bool(date_deadline) and (date_deadline&lt;current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks">
343                     <field name="sequence" />
344                     <field name="name"/>
345                     <field name="project_id" icon="gtk-indent" domain="['|',('user_id','=',uid),('members','=',uid)]"/>
346                     <field name="user_id"/>
347                     <field name="delegated_user_id" invisible="context.get('show_delegated', True)"/>
348                     <field name="planned_hours" widget="float_time" />
349                     <field name="total_hours" widget="float_time"/>
350                     <field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/>
351                     <field name="date_deadline" invisible="context.get('set_visible',False)"/>
352                     <field name="type" groups="base.group_extended" invisible="context.get('set_visible',False)"/>
353                     <field name="date_start" invisible="1"/>
354                     <field name="date_end" invisible="1"/>
355                     <button name="next_type" invisible="context.get('set_visible',False)"
356                         states="draft,open,pending"
357                         string="Change Stage"
358                         type="object"
359                         icon="gtk-go-forward"
360                         groups="base.group_extended"
361                         help="Change Type"/>
362                     <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
363                     <field name="state" invisible="context.get('set_visible',False)"/>
364                     <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)"/>
365                     <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/>
366                     <button name="do_close" states="draft,pending,open" string="Done" type="object" icon="gtk-apply" help="For changing to done state"/>
367                     <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
368                 </tree>
369             </field>
370         </record>
371
372         <record id="view_task_calendar" model="ir.ui.view">
373             <field name="name">project.task.calendar</field>
374             <field name="model">project.task</field>
375             <field name="type">calendar</field>
376             <field eval="2" name="priority"/>
377             <field name="arch" type="xml">
378                 <calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
379                     <field name="name"/>
380                     <field name="project_id"/>
381                 </calendar>
382             </field>
383         </record>
384
385         <record id="view_task_gantt" model="ir.ui.view">
386             <field name="name">project.task.gantt</field>
387             <field name="model">project.task</field>
388             <field name="type">gantt</field>
389             <field eval="2" name="priority"/>
390             <field name="arch" type="xml">
391                 <gantt color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
392                     <level object="project.project" link="project_id" domain="[]">
393                         <field name="name"/>
394                     </level>
395                 </gantt>
396             </field>
397         </record>
398
399         <record id="view_project_task_graph" model="ir.ui.view">
400             <field name="name">project.task.graph</field>
401             <field name="model">project.task</field>
402             <field name="type">graph</field>
403             <field name="arch" type="xml">
404                 <graph string="Project Tasks" type="bar">
405                     <field name="project_id"/>
406                     <field name="planned_hours" operator="+"/>
407                     <field name="delay_hours" operator="+"/>
408                 </graph>
409             </field>
410         </record>
411
412         <record id="view_task_search_form" model="ir.ui.view">
413             <field name="name">project.task.search.form</field>
414             <field name="model">project.task</field>
415             <field name="type">search</field>
416             <field name="arch" type="xml">
417                <search string="Task Edition">
418                     <group col="20" colspan="4">
419                         <filter string="Current" domain="[('state','in',('open','draft'))]" help="Draft, Open and Pending Tasks" icon="terp-check" default="1"/>
420                         <filter string="In Progress" domain="[('state','=','open')]" help="Open Tasks" icon="terp-camera_test"/>
421                         <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
422                         <separator orientation="vertical"/>
423                         <filter string="Deadlines" domain="[('date_deadline','&lt;&gt;',False)]" help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
424                         <separator orientation="vertical"/>
425                         <field name="name" select="1"/>
426                         <field name="project_id" select="1">
427                              <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-blue"/>
428                         </field>
429                         <field name="user_id" select="1">
430                             <filter domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="gtk-execute" separator="1"/>
431                         </field>
432                     </group>
433                     <newline/>
434                     <group expand="0" string="Group By..." colspan="4" col="20">
435                         <filter string="Users" name="group_user_id" icon="terp-personal" domain="[]"  context="{'group_by':'user_id'}"/>
436                         <filter string="Project" name="group_project_id" icon="terp-folder-blue" domain="[]" context="{'group_by':'project_id'}"/>
437                         <filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'type'}"/>
438                         <filter string="State" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
439                         <separator orientation="vertical"/>
440                         <filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/>
441                         <filter string="Start Date" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'date_start'}"/>
442                         <filter string="End Date" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'date_end'}"/>
443                     </group>
444                 </search>
445             </field>
446         </record>
447
448         <record id="action_view_task" model="ir.actions.act_window">
449             <field name="name">Tasks</field>
450             <field name="res_model">project.task</field>
451             <field name="view_type">form</field>
452             <field name="view_mode">tree,form,calendar,gantt,graph</field>
453             <field eval="False" name="filter"/>
454             <field name="view_id" ref="view_task_tree2"/>
455             <field name="context">{"search_default_project_id":project_id,'search_default_user_id':uid, 'search_default_current': 1}</field>
456             <field name="search_view_id" ref="view_task_search_form"/>
457
458         </record>
459         <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="2"/>
460
461         <record id="action_view_task_overpassed_draft" model="ir.actions.act_window">
462             <field name="name">Overpassed Tasks</field>
463             <field name="res_model">project.task</field>
464             <field name="view_type">form</field>
465             <field name="view_mode">tree,form,calendar,graph</field>
466             <field name="domain">[('date_deadline','&lt;',time.strftime('%Y-%m-%d')),('state','in',('draft','pending','open'))]</field>
467             <field name="filter" eval="True"/>
468             <field name="search_view_id" ref="view_task_search_form"/>
469         </record>
470
471         <!-- Opening task when double clicking on project -->
472         <record id="dblc_proj" model="ir.actions.act_window">
473             <field name="res_model">project.task</field>
474             <field name="name">Project's tasks</field>
475             <field name="view_type">form</field>
476             <field name="view_mode">tree,form,calendar,graph,gantt</field>
477             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
478             <field name="context">{'project_id':active_id, 'active_test':False}</field>
479         </record>
480
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"/>
487         </record>
488
489         <!-- Task types -->
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 Stage">
496                     <field name="name" select="1"/>
497                     <field name="sequence"/>
498                     <field colspan="4" name="description"/>
499                 </form>
500             </field>
501         </record>
502
503         <record id="task_type_tree" model="ir.ui.view">
504             <field name="name">project.task.type.tree</field>
505             <field name="model">project.task.type</field>
506             <field name="type">tree</field>
507             <field name="arch" type="xml">
508                 <tree string="Task Stage">
509                     <field name="sequence"/>
510                     <field name="name"/>
511                 </tree>
512             </field>
513         </record>
514
515         <record id="open_task_type_form" model="ir.actions.act_window">
516             <field name="name">Types</field>
517             <field name="res_model">project.task.type</field>
518             <field name="view_type">form</field>
519             <field name="view_id" ref="task_type_tree"/>
520         </record>
521
522         <menuitem id="menu_tasks_config" name="Tasks" parent="project.menu_definitions" sequence="1"/>
523         <menuitem action="open_task_type_form" id="menu_task_types_view" parent="menu_tasks_config" sequence="1"/>
524
525         <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"/>
526
527         <act_window
528             domain="[('project_id', '=', active_id)]"
529             id="act_project_project_2_project_task_all"
530             name="Tasks"
531             res_model="project.task"
532             src_model="project.project"
533             view_mode="tree,form,calendar,graph"
534             view_type="form"/>
535
536          <record id="task_company" model="ir.ui.view">
537             <field name="name">res.company.task.config</field>
538             <field name="model">res.company</field>
539             <field name="type">form</field>
540             <field name="inherit_id" ref="base.view_company_form"/>
541             <field name="arch" type="xml">
542                 <page string="Configuration" position="inside">
543                     <separator string="Project Management" colspan="4"/>
544                     <field name="project_time_mode_id"/>
545                     <newline/>
546                 </page>
547             </field>
548         </record>
549
550       <!--     User Form-->
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"/>
560               </field>
561           </field>
562      </record>
563
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" context="{'user_prefence':True}" widget="selection"/>
573             </page>
574        </field>
575     </record>
576
577 <!--- Messages-->
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">
584                     <group colspan="6">
585                         <field name="subject" select="1"/>
586                         <field name="project_id"/>
587                         <field name="user_id" select="1"/>
588                           <field name="date"/>
589                      </group>
590                         <separator string="Description"  colspan="4"/>
591                         <field name="description"  nolabel="1" colspan="4"/>
592                 </form>
593             </field>
594        </record>
595
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="date" select="1"/>
603                     <field name="subject" select="1"/>
604                     <field name="project_id" select="1"/>
605                     <field name="user_id" select="1"/>
606                 </tree>
607             </field>
608        </record>
609
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','&gt;=',time.strftime('%%Y-%%m-01'))]" icon="terp-go-month" string="This Month" />
618                        <filter domain="[('date', '=', time.strftime('%%Y-%%m-%%d'))]" icon="terp-go-today" string="Today" />
619                        <separator orientation="vertical"/>
620                        <field name="subject"/>
621                        <field name="project_id" select="1"/>
622                        <field name="user_id" select="1"/>
623                    </group>
624                    <newline/>
625                    <group expand="0" string="Group By..." colspan="4" col="20">
626                        <filter string="Project" icon="terp-folder-blue" domain="[]" context="{'group_by':'project_id'}"/>
627                        <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
628                        <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
629                    </group>
630                </search>
631            </field>
632         </record>
633
634         <record id="action_view_project_messages_tree" model="ir.actions.act_window">
635             <field name="name">Messages</field>
636             <field name="res_model">project.message</field>
637             <field name="view_type">form</field>
638             <field name="view_mode">tree,form</field>
639             <field name="view_id" ref="view_project_message_tree"/>
640             <field name="context">{"search_default_project_id":project_id, "search_default_user_id":uid}</field>
641             <field name="search_view_id" ref="view_project_message_search"/>
642        </record>
643
644         <menuitem action="action_view_project_messages_tree" id="menu_message_tree" parent="menu_project_management" sequence="11"/>
645
646         <act_window domain="[('user_id', '=', active_id),('state', '&lt;&gt;', 'cancelled'),('state', '&lt;&gt;', '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"/>
647
648         <act_window domain="[('user_id', '=', active_id),('date', '&gt;=', 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"/>
649
650         <act_window domain="[('project_id', '=', active_id)]" id="act_project_messages" name="Messages" res_model="project.message" src_model="project.project"/>
651     </data>
652 </openerp>