[MERGE] Merge with lp:openobject-addons
[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"/>
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"/>
120                             <field name="duration"  on_change="onchange_days(project_id)" />
121                             <field name="product_uom" nolabel="1" domain="[('category_id.name', '=', 'Working Time')]"/>
122                             <field name="date_end"/>
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"/>
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"/>
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="Task Detail">
152                             <field colspan="4" name="task_ids" context="{'default_project_id' :project_id}" nolabel="1">
153                                  <tree editable="bottom" string="Project's Tasks">
154                                     <field name="sequence"/>
155                                     <field name="name"/>
156                                     <field name="user_id"/>
157                                     <field name="planned_hours" widget="float_time"/>
158                                     <field name="project_id" invisible="1"/>
159                                     <field name="total_hours" sum='Total Hours'/>
160                                   </tree>
161                                   <form string="Project's Tasks">
162                                       <notebook colspan="4">
163                                           <page string="Task Detail">
164                                               <group colspan="4" col="4">
165                                                 <field name="name"/>
166                                                 <field name="project_id"/>
167                                                 <field name="user_id"/>
168                                             </group>
169                                             <group colspan="2" col="2">
170                                                   <separator string="Dates" colspan="2"/>
171                                                   <field name="date_start"/>
172                                                   <field name="date_deadline"/>
173                                             </group>
174                                             <group colspan="2" col="2">
175                                                   <separator string="Planning" colspan="2"/>
176                                                   <field name="planned_hours" widget="float_time"/>
177                                                 <field name="total_hours" widget="float_time"/>
178                                                 <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/>
179                                                 <field name="effective_hours" invisible="1"/>
180                                             </group>
181                                             <group colspan="6" col="4">
182                                                 <field name="state"/>
183                                             </group>
184                                         </page>
185                                     </notebook>
186                                   </form>
187                              </field>
188                                <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
189                         </page>
190                         <page string="Other Info">
191                            <group colspan="2" col="2">
192                                 <separator string="Constraints" colspan="2"/>
193                                 <field name="constraint_date_start"/>
194                                 <field name="constraint_date_end"/>
195                             </group>
196                             <group colspan="2" col="2">
197                                 <separator string="Scheduling" colspan="2"/>
198                                 <field name="sequence"/>
199                             </group>
200                            <separator colspan="4" string="Previous Phases"/>
201                            <field colspan="4" name="previous_phase_ids" nolabel="1" domain="[('id','!=',active_id)]"/>
202                            <separator colspan="4" string="Next Phases"/>
203                            <field colspan="4" name="next_phase_ids" nolabel="1" domain="[('id','!=',active_id)]"/>
204                         </page>
205                     </notebook>
206                     <newline/>
207                 </form>
208             </field>
209         </record>
210
211         <record id="view_project_phase_list" model="ir.ui.view">
212             <field name="name">project.phase.list</field>
213             <field name="model">project.phase</field>
214             <field name="type">tree</field>
215             <field name="priority" eval="5"/>
216             <field name="arch" type="xml">
217                 <tree colors="grey:state in ('cancelled','done');blue:state in ('pending')" string="Project Phases">
218                     <field name="name"/>
219                     <field name="project_id" on_change="onchange_project(project_id)"/>
220                     <field name="responsible_id"/>
221                     <field name="date_start"/>
222                     <field name="state"/>
223                 </tree>
224             </field>
225         </record>
226
227         <record id="view_project_phase_calendar" model="ir.ui.view">
228             <field name="name">project.phase.calendar</field>
229             <field name="model">project.phase</field>
230             <field name="type">calendar</field>
231             <field eval="2" name="priority"/>
232             <field name="arch" type="xml">
233                 <calendar color="project_id" date_start="date_start" date_stop="date_end" day_length="12">
234                     <field name="name"/>
235                     <field name="responsible_id"/>
236                 </calendar>
237             </field>
238         </record>
239
240         <record id="view_project_phase_gantt" model="ir.ui.view">
241             <field name="name">project.phase.gantt</field>
242             <field name="model">project.phase</field>
243             <field name="type">gantt</field>
244             <field eval="2" name="priority"/>
245             <field name="arch" type="xml">
246                 <gantt color="project_id" date_stop="date_end" date_start="date_start" mode="month">
247                     <level object="project.project" link="project_id" domain="[]">
248                         <field name="name"/>
249                     </level>
250                 </gantt>
251             </field>
252         </record>
253
254         <record id="view_project_phase_search" model="ir.ui.view">
255             <field name="name">project.phase.search</field>
256             <field name="model">project.phase</field>
257             <field name="type">search</field>
258             <field name="arch" type="xml">
259                 <search string="Project Phases">
260                     <group colspan="4" col="20">
261                             <filter string="Current" domain="[('state','in',('open','draft'))]"  name="current" help="Draft and In Progress Phases" icon="terp-check"/>
262                         <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/>
263                         <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
264                         <separator orientation="vertical"/>
265                         <field name="name"/>
266                         <field name="project_id">
267                             <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/>
268                         </field>
269                         <field name="responsible_id"/>
270                         <field name="date_start"/>
271                     </group>
272                     <newline/>
273                     <group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended">
274                         <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/>
275                         <separator orientation="vertical"/>
276                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" name="project"/>
277                         <separator orientation="vertical"/>
278                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
279                         <separator orientation="vertical"/>
280                         <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Month"/>
281                     </group>
282                 </search>
283             </field>
284         </record>
285
286         <record id="act_project_phase" model="ir.actions.act_window">
287             <field name="name">Project Phases</field>
288             <field name="res_model">project.phase</field>
289             <field name="view_type">form</field>
290             <field name="view_mode">gantt,tree,form,calendar</field>
291             <field name="context">{"search_default_current": 1}</field>
292             <field name="search_view_id" ref="view_project_phase_search"/>
293             <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 ones, 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 it.</field>
294         </record>
295
296         <record id="act_project_phase_list" 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">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         </record>
304
305
306     # ------------------------------------------------------
307     # Project
308     # ------------------------------------------------------
309
310         <record id="project.view_project_resource_form1" model="ir.ui.view">
311             <field name="name">Project Resource Calendar View</field>
312             <field name="model">project.project</field>
313             <field name="type">form</field>
314             <field name="inherit_id" ref="project.edit_project"/>
315             <field name="arch" type="xml">
316                 <field name="priority" position="before">
317                     <field name="resource_calendar_id"/>
318                 </field>
319
320             </field>
321        </record>
322
323     # ------------------------------------------------------
324     # Project Task
325     # ------------------------------------------------------
326
327         <record id="view_phase_task_form2" model="ir.ui.view">
328             <field name="name">phase.task.form2</field>
329             <field name="model">project.task</field>
330             <field name="type">form</field>
331             <field name="inherit_id" ref="project.view_task_form2"/>
332             <field name="arch" type="xml">
333                 <field name="sequence" position="after">
334                     <field name="phase_id"/>
335                 </field>
336             </field>
337         </record>
338         <record id="view_phase_task_search_form" model="ir.ui.view">
339             <field name="name">phase.task.search.form</field>
340             <field name="model">project.task</field>
341             <field name="type">search</field>
342             <field name="inherit_id" ref="project.view_task_search_form"/>
343             <field name="arch" type="xml">
344                 <field name="project_id" position="after">
345                     <field name="phase_id" select="1"/>
346                 </field>
347             </field>
348         </record>
349
350          <record id="view_phase_task_search_form_group" model="ir.ui.view">
351             <field name="name">phase.task.search.form.group</field>
352             <field name="model">project.task</field>
353             <field name="type">search</field>
354             <field name="inherit_id" ref="project.view_task_search_form"/>
355             <field name="arch" type="xml">
356             <filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" position="after">
357             <filter string="Project Phase" name="group_project_id_phase" icon="terp-folder-violet" domain="[]" context="{'group_by':'phase_id'}" groups="base.group_extended"/>
358             </filter>
359             </field>
360         </record>
361
362          <record id="view_phase_task_search_form_tree" model="ir.ui.view">
363             <field name="name">phase.task.search.form.tree</field>
364             <field name="model">project.task</field>
365             <field name="type">tree</field>
366             <field name="inherit_id" ref="project.view_task_tree2"/>
367             <field name="arch" type="xml">
368                 <field name="project_id" position="after">
369                     <field name="phase_id" invisible="1" groups="base.group_extended"/>
370                 </field>
371             </field>
372         </record>
373
374     <act_window
375         id="project_phase_task_list"
376         name="Related Tasks"
377         res_model="project.task"
378         src_model="project.phase"
379         view_mode="tree,form"
380         context="{'search_default_phase_id': [active_id]}"
381         domain="[('phase_id', '=', active_id),('project_id','=',project_id)]"
382         />
383
384     <act_window
385         context="{'search_default_project_id': [active_id]}"
386         id="act_project_phases"
387         name="Phases"
388         res_model="project.phase"
389         src_model="project.project"
390                 domain="[('project_id', '=', active_id)]"
391         view_mode="tree,form"
392         view_type="form" 
393                 />
394
395         <act_window
396                 context="{'search_default_user_id': [user_id]}"
397         id="act_project_resource"
398         name="Resources"
399         res_model="resource.resource"
400         src_model="project.project"
401                 domain="[('user_id', '=',user_id)]"
402         view_mode="tree,form"
403         view_type="form" 
404                 />
405
406     # ------------------------------------------------------
407     # Menu Items
408     # ------------------------------------------------------
409
410         <menuitem action="act_project_phase_list"
411             groups="base.group_extended"
412             id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/>
413
414         <menuitem action="act_project_phase"
415             icon="STOCK_INDENT"
416             groups="base.group_extended"
417             id="menu_project_phase"   parent="base.menu_project_long_term" sequence="1"/>
418
419         <menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
420             icon="STOCK_INDENT"
421             name="Resource Allocations" parent="base.menu_project_long_term" sequence="2"/>
422
423         <menuitem id="menu_pm_resources_project1"
424             groups="base.group_extended"
425             name="Resources" parent="project.menu_definitions" sequence="3"/>
426
427         <menuitem id="menu_phase_schedule" name="Scheduling" parent="base.menu_main_pm" sequence="4" groups="project.group_project_user,project.group_project_manager"/>
428         <menuitem action="resource.action_resource_resource_tree" id="menu_view_resource" parent="menu_pm_resources_project1" sequence="2"/>
429         <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_resources_project1" sequence="1"/>
430         <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_resources_project1" sequence="1"/>
431
432     </data>
433 </openerp>