[FIX] OPW 18442 : View location don't consolidate child, actualy any location with...
[odoo/odoo.git] / addons / project_long_term / project_long_term_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5     <menuitem id="base.menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="1"/>
6
7     # ------------------------------------------------------
8     # Project Resource Allocation
9     # ------------------------------------------------------
10
11         <record id="view_project_resource_allocation_gantt" model="ir.ui.view">
12             <field name="name">project.resource.allocation.gantt</field>
13             <field name="model">project.resource.allocation</field>
14             <field name="type">gantt</field>
15             <field name="arch" type="xml">
16               <gantt color="project_id" date_start="date_start" date_stop="date_end" mode="year">
17                <level object="res.users" link="user_id" domain="[]">
18                     <field name="name"/>
19                 </level>
20               </gantt>
21             </field>
22         </record>
23
24         <record id="view_project_resource_allocation_calendar" model="ir.ui.view">
25             <field name="name">project.resource.allocation.calendar</field>
26             <field name="model">project.resource.allocation</field>
27             <field name="type">calendar</field>
28             <field eval="2" name="priority"/>
29             <field name="arch" type="xml">
30                 <calendar color="resource_id" date_start="date_start" date_stop="date_end" day_length="12" string="Resources">
31                     <field name="phase_id"/>
32                     <field name="project_id"/>
33                 </calendar>
34             </field>
35         </record>
36
37
38         <record id="view_project_resource_allocation_form" model="ir.ui.view">
39             <field name="name">project.resource.allocation.form</field>
40             <field name="model">project.resource.allocation</field>
41             <field name="type">form</field>
42             <field name="arch" type="xml">
43                 <form string="Project Resource Allocation">
44                     <group colspan="4" col="6">
45                         <field name="resource_id"/>
46                         <field name="phase_id"/>
47                         <field name="project_id"/>
48                         <field name="date_start"/>
49                         <field name="date_end"/>
50                         <field name="useability" string="Availability"/>
51                     </group>
52                 </form>
53             </field>
54         </record>
55
56         <record id="view_project_resource_allocation_list" model="ir.ui.view">
57             <field name="name">project.resource.allocation.list</field>
58             <field name="model">project.resource.allocation</field>
59             <field name="type">tree</field>
60             <field name="priority" eval="5"/>
61             <field name="arch" type="xml">
62                 <tree editable="bottom" string="Project Resource Allocation">
63                     <field name="resource_id"/>
64                     <field name="phase_id"/>
65                     <field name="project_id"/>
66                     <field name="useability" string="Availability"/>
67                 </tree>
68             </field>
69         </record>
70
71        <record id="view_project_resource_allocation_search" model="ir.ui.view">
72             <field name="name">project.resource.allocation.search</field>
73             <field name="model">project.resource.allocation</field>
74             <field name="type">search</field>
75             <field name="arch" type="xml">
76                 <search string="Resources Allocation">
77                     <group colspan="4" col="20">
78                         <field name="resource_id"/>
79                         <field name="phase_id"/>
80                         <field name="project_id"/>
81                     </group>
82                     <newline/>
83                     <group expand="0" string="Group By..." colspan="4" col="20">
84                         <filter name="resource" string="Resource" icon="terp-personal" domain="[]" context="{'group_by':'resource_id'}"/>
85                         <separator orientation="vertical"/>
86                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
87                         <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/>
88                     </group>
89                 </search>
90             </field>
91         </record>
92        <record id="act_resouce_allocation" model="ir.actions.act_window">
93             <field name="name">Resources Allocation</field>
94             <field name="res_model">project.resource.allocation</field>
95             <field name="view_type">form</field>
96             <field name="view_mode">gantt,tree,form,calendar</field>
97              <field name="context">{}</field>
98             <field name="search_view_id" ref="view_project_resource_allocation_search"/>
99         </record>
100
101
102     # ------------------------------------------------------
103     # Project Phase
104     # ------------------------------------------------------
105
106         <record id="view_project_phase_form" model="ir.ui.view">
107             <field name="name">project.phase.form</field>
108             <field name="model">project.phase</field>
109             <field name="type">form</field>
110             <field name="arch" type="xml">
111                 <form string="Project Phase">
112                     <group colspan="6" col="6">
113                         <group colspan="6" col="6" >
114                             <field name="name" select="1"/>
115                             <field name="project_id" on_change="onchange_project(project_id)"/>
116                             <field name="responsible_id"/>
117                         </group>
118                         <group colspan="6" col="6">
119                             <field name="date_start" readonly="1"/>
120                             <field name="duration"/>
121                             <field name="product_uom" nolabel="1" domain="[('category_id.name', '=', 'Working Time')]"/>
122                             <field name="date_end" readonly="1"/>
123                         </group>
124                     </group>
125                     <notebook colspan="4">
126                         <page string="Resource Allocation">
127                             <field colspan="4" name="resource_ids" nolabel="1">
128                                  <tree editable="bottom" string="Project Resource Allocation">
129                                     <field name="resource_id" context="{'project_id':parent.project_id}"/>
130                                     <field name="date_start"/>
131                                     <field name="date_end"/>
132                                     <field name="useability" string="Availability"/>
133                                   </tree>
134                                   <form string="Project Resource Allocation">
135                                     <field name="resource_id" context="{'project_id':parent.project_id}"/>
136                                     <field name="date_start" /> 
137                                     <field name="date_end"/>
138                                     <field name="useability" string="Availability"/>
139                                   </form>
140                              </field>
141                             <separator string="" colspan="4"/>
142                             <group col="12" colspan="4">
143                                 <field name="state" select="1"/>
144                                 <button string="Cancel" name="set_cancel" states="draft,open,pending" icon="gtk-cancel"/>
145                                 <button string="Draft" name="set_draft" states="open" icon="gtk-indent"/>
146                                 <button string="Pending" name="set_pending" states="open" icon="gtk-media-pause"/>
147                                 <button string="Done" name="set_done" states="pending,open" icon="terp-dialog-close"/>
148                                 <button string="Start Phase" name="set_open" states="pending,draft" icon="gtk-execute"/>
149                             </group>
150                         </page>
151                         <page string="Tasks Details">
152                             <field colspan="4" name="task_ids" readonly="1" context="{'default_project_id' :project_id}" nolabel="1">
153                                  <tree string="Project's Tasks">
154                                     <field name="sequence"/>
155                                     <field name="name"/>
156                                     <field name="user_id"/>
157                                     <field name="date_start"/>
158                                     <field name="date_end" />
159                                     <field name="planned_hours" widget="float_time"/>
160                                     <field name="project_id" invisible="1"/>
161                                     <field name="total_hours" sum='Total Hours'/>
162                                     <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/>
163                                     <field name="state"/>
164                                   </tree>
165                                   <form string="Project's Tasks">
166                                       <notebook colspan="4">
167                                           <page string="Task Detail">
168                                               <group colspan="4" col="4">
169                                                 <field name="name"/>
170                                                 <field name="project_id"/>
171                                                 <field name="user_id"/>
172                                                 <field name="sequence"/>
173                                             </group>
174                                             <group colspan="2" col="2">
175                                                   <separator string="Dates" colspan="2"/>
176                                                   <field name="date_start"/>
177                                                   <field name="date_end" />
178                                                   <field name="date_deadline"/>
179                                             </group>
180                                             <group colspan="2" col="2">
181                                                   <separator string="Planning" colspan="2"/>
182                                                   <field name="planned_hours" widget="float_time"/>
183                                                 <field name="total_hours" widget="float_time"/>
184                                                 <field name="remaining_hours" widget="float_time"/>
185                                                 <field name="effective_hours" invisible="1"/>
186                                             </group>
187                                             <group colspan="6" col="4">
188                                                 <field name="state"/>
189                                             </group>
190                                         </page>
191                                     </notebook>
192                                   </form>
193                              </field>
194                                <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
195                         </page>
196                         <page string="Schedule and Display info">
197                            <group colspan="2" col="2">
198                                 <separator string="Constraints" colspan="2"/>
199                                 <field name="constraint_date_start"/>
200                                 <field name="constraint_date_end"/>
201                             </group>
202                             <group colspan="2" col="2">
203                                 <separator string="Displaying settings" colspan="2"/>
204                                 <field name="sequence"/>
205                             </group>
206                            <separator colspan="4" string="Previous Phases"/>
207                            <field colspan="4" name="previous_phase_ids" nolabel="1" domain="[('id','!=',active_id)]"/>
208                            <separator colspan="4" string="Next Phases"/>
209                            <field colspan="4" name="next_phase_ids" nolabel="1" domain="[('id','!=',active_id)]"/>
210                         </page>
211                     </notebook>
212                     <newline/>
213                 </form>
214             </field>
215         </record>
216
217         <record id="view_project_phase_list" model="ir.ui.view">
218             <field name="name">project.phase.list</field>
219             <field name="model">project.phase</field>
220             <field name="type">tree</field>
221             <field name="priority" eval="5"/>
222             <field name="arch" type="xml">
223                 <tree colors="grey:state in ('cancelled','done');blue:state in ('pending')" string="Project Phases">
224                     <field name="name"/>
225                     <field name="project_id" on_change="onchange_project(project_id)"/>
226                     <field name="responsible_id"/>
227                     <field name="date_start"/>
228                     <field name="date_end"/>
229                     <field name="duration"/>
230                     <field name="state"/>
231                      <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
232                 </tree>
233             </field>
234         </record>
235
236         <record id="view_project_phase_calendar" model="ir.ui.view">
237             <field name="name">project.phase.calendar</field>
238             <field name="model">project.phase</field>
239             <field name="type">calendar</field>
240             <field eval="2" name="priority"/>
241             <field name="arch" type="xml">
242                 <calendar color="project_id" date_start="date_start" date_stop="date_end" day_length="12">
243                     <field name="name"/>
244                     <field name="responsible_id"/>
245                 </calendar>
246             </field>
247         </record>
248
249         <record id="view_project_phase_gantt" model="ir.ui.view">
250             <field name="name">project.phase.gantt</field>
251             <field name="model">project.phase</field>
252             <field name="type">gantt</field>
253             <field eval="2" name="priority"/>
254             <field name="arch" type="xml">
255                 <gantt color="project_id" date_stop="date_end" date_start="date_start" mode="month">
256                     <level object="project.project" link="project_id" domain="[]">
257                         <field name="name"/>
258                     </level>
259                 </gantt>
260             </field>
261         </record>
262
263         <record id="view_project_phase_search" model="ir.ui.view">
264             <field name="name">project.phase.search</field>
265             <field name="model">project.phase</field>
266             <field name="type">search</field>
267             <field name="arch" type="xml">
268                 <search string="Project Phases">
269                     <group colspan="4" col="20">
270                         <filter string="Current" domain="[('state','in',('open','draft'))]"  name="current" help="Draft and In Progress Phases" icon="terp-check"/>
271                         <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/>
272                         <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
273                         <separator orientation="vertical"/>
274                         <field name="name"/>
275                         <field name="project_id">
276                             <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/>
277                         </field>
278                         <field name="responsible_id"/>
279                         <field name="date_start"/>
280                         <field name="date_end"/>
281                     </group>
282                     <newline/>
283                     <group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended">
284                         <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/>
285                         <separator orientation="vertical"/>
286                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" name="project"/>
287                         <separator orientation="vertical"/>
288                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
289                         <separator orientation="vertical"/>
290                         <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Month"/>
291                     </group>
292                 </search>
293             </field>
294         </record>
295
296         <record id="act_project_phase" model="ir.actions.act_window">
297             <field name="name">Project Phases</field>
298             <field name="res_model">project.phase</field>
299             <field name="view_type">form</field>
300             <field name="view_mode">gantt,tree,form,calendar</field>
301             <field name="context">{"search_default_current": 1}</field>
302             <field name="search_view_id" ref="view_project_phase_search"/>
303             <field name="help">A project can be split into the different phases. For each phase, you can define your resources allocation, describe different tasks and link your phase to previous and next phases, add date constraints for the automated scheduling. Use the long term planning in order to planify your available human resources, convert your phases into a series of tasks when you start working on the project.</field>
304         </record>
305
306         <record id="act_project_phase_list" model="ir.actions.act_window">
307             <field name="name">Project Phases</field>
308             <field name="res_model">project.phase</field>
309             <field name="view_type">form</field>
310             <field name="view_mode">tree,form,calendar</field>
311              <field name="context">{"search_default_current": 1}</field>
312             <field name="search_view_id" ref="view_project_phase_search"/>
313         </record>
314
315
316     # ------------------------------------------------------
317     # Project
318     # ------------------------------------------------------
319
320         <record id="project.view_project_resource_form1" model="ir.ui.view">
321             <field name="name">Project Resource Calendar View</field>
322             <field name="model">project.project</field>
323             <field name="type">form</field>
324             <field name="inherit_id" ref="project.edit_project"/>
325             <field name="arch" type="xml">
326                 <field name="effective_hours" position="after">
327                     <field name="resource_calendar_id"/>
328                 </field>
329
330             </field>
331        </record>
332
333     # ------------------------------------------------------
334     # Project Task
335     # ------------------------------------------------------
336
337         <record id="view_phase_task_form2" model="ir.ui.view">
338             <field name="name">phase.task.form2</field>
339             <field name="model">project.task</field>
340             <field name="type">form</field>
341             <field name="inherit_id" ref="project.view_task_form2"/>
342             <field name="arch" type="xml">
343                 <field name="sequence" position="after">
344                     <field name="phase_id"/>
345                 </field>
346             </field>
347         </record>
348         <record id="view_phase_task_search_form" model="ir.ui.view">
349             <field name="name">phase.task.search.form</field>
350             <field name="model">project.task</field>
351             <field name="type">search</field>
352             <field name="inherit_id" ref="project.view_task_search_form"/>
353             <field name="arch" type="xml">
354                 <field name="project_id" position="after">
355                     <field name="phase_id" select="1"/>
356                 </field>
357             </field>
358         </record>
359
360          <record id="view_phase_task_search_form_group" model="ir.ui.view">
361             <field name="name">phase.task.search.form.group</field>
362             <field name="model">project.task</field>
363             <field name="type">search</field>
364             <field name="inherit_id" ref="project.view_task_search_form"/>
365             <field name="arch" type="xml">
366             <filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" position="after">
367             <filter string="Project Phase" name="group_project_id_phase" icon="terp-folder-violet" domain="[]" context="{'group_by':'phase_id'}" groups="base.group_extended"/>
368             </filter>
369             </field>
370         </record>
371
372          <record id="view_phase_task_search_form_tree" model="ir.ui.view">
373             <field name="name">phase.task.search.form.tree</field>
374             <field name="model">project.task</field>
375             <field name="type">tree</field>
376             <field name="inherit_id" ref="project.view_task_tree2"/>
377             <field name="arch" type="xml">
378                 <field name="project_id" position="after">
379                     <field name="phase_id" invisible="1" groups="base.group_extended"/>
380                 </field>
381             </field>
382         </record>
383
384     <act_window
385         id="project_phase_task_list"
386         name="Related Tasks"
387         res_model="project.task"
388         src_model="project.phase"
389         view_mode="tree,form"
390         context="{'search_default_phase_id': [active_id]}"
391         domain="[('phase_id', '=', active_id),('project_id','=',project_id)]"
392         />
393
394     <act_window
395         context="{'search_default_project_id': [active_id]}"
396         id="act_project_phases"
397         name="Phases"
398         res_model="project.phase"
399         src_model="project.project"
400         domain="[('project_id', '=', active_id)]"
401         view_mode="tree,form"
402         view_type="form" 
403         />
404
405     <act_window
406         context="{'search_default_user_id': [user_id]}"
407         id="act_project_resource"
408         name="Resources"
409         res_model="resource.resource"
410         src_model="project.project"
411         domain="[('user_id', '=',user_id)]"
412         view_mode="tree,form"
413         view_type="form" 
414         />
415
416     # ------------------------------------------------------
417     # Menu Items
418     # ------------------------------------------------------
419
420         <menuitem action="act_project_phase_list"
421             groups="base.group_extended"
422             id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/>
423
424         <menuitem action="act_project_phase"
425             icon="STOCK_INDENT"
426             groups="base.group_extended"
427             id="menu_project_phase"   parent="base.menu_project_long_term" sequence="1"/>
428
429         <menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
430             icon="STOCK_INDENT"
431             name="Resource Allocations" parent="base.menu_project_long_term" sequence="2"/>
432
433         <menuitem id="menu_pm_resources_project1"
434             groups="base.group_extended"
435             name="Resources" parent="project.menu_definitions" sequence="3"/>
436
437         <menuitem id="menu_phase_schedule" name="Scheduling" parent="base.menu_main_pm" sequence="4" groups="project.group_project_user,project.group_project_manager"/>
438         <menuitem action="resource.action_resource_resource_tree" id="menu_view_resource" parent="menu_pm_resources_project1" sequence="2"/>
439         <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_resources_project1" sequence="1"/>
440         <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_resources_project1" sequence="1"/>
441
442     </data>
443 </openerp>