[IMP] project_long_term: Add start date and end date in tasks detail view
[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"/>
120                             <field name="duration"/>
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" readonly="1"/>
131                                     <field name="date_end" readonly="1"/>
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" readonly="1"/> 
137                                     <field name="date_end" readonly="1"/>
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                 </tree>
232             </field>
233         </record>
234
235         <record id="view_project_phase_calendar" model="ir.ui.view">
236             <field name="name">project.phase.calendar</field>
237             <field name="model">project.phase</field>
238             <field name="type">calendar</field>
239             <field eval="2" name="priority"/>
240             <field name="arch" type="xml">
241                 <calendar color="project_id" date_start="date_start" date_stop="date_end" day_length="12">
242                     <field name="name"/>
243                     <field name="responsible_id"/>
244                 </calendar>
245             </field>
246         </record>
247
248         <record id="view_project_phase_gantt" model="ir.ui.view">
249             <field name="name">project.phase.gantt</field>
250             <field name="model">project.phase</field>
251             <field name="type">gantt</field>
252             <field eval="2" name="priority"/>
253             <field name="arch" type="xml">
254                 <gantt color="project_id" date_stop="date_end" date_start="date_start" mode="month">
255                     <level object="project.project" link="project_id" domain="[]">
256                         <field name="name"/>
257                     </level>
258                 </gantt>
259             </field>
260         </record>
261
262         <record id="view_project_phase_search" model="ir.ui.view">
263             <field name="name">project.phase.search</field>
264             <field name="model">project.phase</field>
265             <field name="type">search</field>
266             <field name="arch" type="xml">
267                 <search string="Project Phases">
268                     <group colspan="4" col="20">
269                             <filter string="Current" domain="[('state','in',('open','draft'))]"  name="current" help="Draft and In Progress Phases" icon="terp-check"/>
270                         <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/>
271                         <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
272                         <separator orientation="vertical"/>
273                         <field name="name"/>
274                         <field name="project_id">
275                             <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/>
276                         </field>
277                         <field name="responsible_id"/>
278                         <field name="date_start"/>
279                         <field name="date_end"/>
280                     </group>
281                     <newline/>
282                     <group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended">
283                         <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/>
284                         <separator orientation="vertical"/>
285                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" name="project"/>
286                         <separator orientation="vertical"/>
287                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
288                         <separator orientation="vertical"/>
289                         <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Month"/>
290                     </group>
291                 </search>
292             </field>
293         </record>
294
295         <record id="act_project_phase" model="ir.actions.act_window">
296             <field name="name">Project Phases</field>
297             <field name="res_model">project.phase</field>
298             <field name="view_type">form</field>
299             <field name="view_mode">gantt,tree,form,calendar</field>
300             <field name="context">{"search_default_current": 1}</field>
301             <field name="search_view_id" ref="view_project_phase_search"/>
302             <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>
303         </record>
304
305         <record id="act_project_phase_list" model="ir.actions.act_window">
306             <field name="name">Project Phases</field>
307             <field name="res_model">project.phase</field>
308             <field name="view_type">form</field>
309             <field name="view_mode">tree,form,calendar</field>
310              <field name="context">{"search_default_current": 1}</field>
311             <field name="search_view_id" ref="view_project_phase_search"/>
312         </record>
313
314
315     # ------------------------------------------------------
316     # Project
317     # ------------------------------------------------------
318
319         <record id="project.view_project_resource_form1" model="ir.ui.view">
320             <field name="name">Project Resource Calendar View</field>
321             <field name="model">project.project</field>
322             <field name="type">form</field>
323             <field name="inherit_id" ref="project.edit_project"/>
324             <field name="arch" type="xml">
325                 <field name="priority" position="before">
326                     <field name="resource_calendar_id"/>
327                 </field>
328
329             </field>
330        </record>
331
332     # ------------------------------------------------------
333     # Project Task
334     # ------------------------------------------------------
335
336         <record id="view_phase_task_form2" model="ir.ui.view">
337             <field name="name">phase.task.form2</field>
338             <field name="model">project.task</field>
339             <field name="type">form</field>
340             <field name="inherit_id" ref="project.view_task_form2"/>
341             <field name="arch" type="xml">
342                 <field name="sequence" position="after">
343                     <field name="phase_id"/>
344                 </field>
345             </field>
346         </record>
347         <record id="view_phase_task_search_form" model="ir.ui.view">
348             <field name="name">phase.task.search.form</field>
349             <field name="model">project.task</field>
350             <field name="type">search</field>
351             <field name="inherit_id" ref="project.view_task_search_form"/>
352             <field name="arch" type="xml">
353                 <field name="project_id" position="after">
354                     <field name="phase_id" select="1"/>
355                 </field>
356             </field>
357         </record>
358
359          <record id="view_phase_task_search_form_group" model="ir.ui.view">
360             <field name="name">phase.task.search.form.group</field>
361             <field name="model">project.task</field>
362             <field name="type">search</field>
363             <field name="inherit_id" ref="project.view_task_search_form"/>
364             <field name="arch" type="xml">
365             <filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" position="after">
366             <filter string="Project Phase" name="group_project_id_phase" icon="terp-folder-violet" domain="[]" context="{'group_by':'phase_id'}" groups="base.group_extended"/>
367             </filter>
368             </field>
369         </record>
370
371          <record id="view_phase_task_search_form_tree" model="ir.ui.view">
372             <field name="name">phase.task.search.form.tree</field>
373             <field name="model">project.task</field>
374             <field name="type">tree</field>
375             <field name="inherit_id" ref="project.view_task_tree2"/>
376             <field name="arch" type="xml">
377                 <field name="project_id" position="after">
378                     <field name="phase_id" invisible="1" groups="base.group_extended"/>
379                 </field>
380             </field>
381         </record>
382
383     <act_window
384         id="project_phase_task_list"
385         name="Related Tasks"
386         res_model="project.task"
387         src_model="project.phase"
388         view_mode="tree,form"
389         context="{'search_default_phase_id': [active_id]}"
390         domain="[('phase_id', '=', active_id),('project_id','=',project_id)]"
391         />
392
393     <act_window
394         context="{'search_default_project_id': [active_id]}"
395         id="act_project_phases"
396         name="Phases"
397         res_model="project.phase"
398         src_model="project.project"
399                 domain="[('project_id', '=', active_id)]"
400         view_mode="tree,form"
401         view_type="form" 
402                 />
403
404         <act_window
405                 context="{'search_default_user_id': [user_id]}"
406         id="act_project_resource"
407         name="Resources"
408         res_model="resource.resource"
409         src_model="project.project"
410                 domain="[('user_id', '=',user_id)]"
411         view_mode="tree,form"
412         view_type="form" 
413                 />
414
415     # ------------------------------------------------------
416     # Menu Items
417     # ------------------------------------------------------
418
419         <menuitem action="act_project_phase_list"
420             groups="base.group_extended"
421             id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/>
422
423         <menuitem action="act_project_phase"
424             icon="STOCK_INDENT"
425             groups="base.group_extended"
426             id="menu_project_phase"   parent="base.menu_project_long_term" sequence="1"/>
427
428         <menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
429             icon="STOCK_INDENT"
430             name="Resource Allocations" parent="base.menu_project_long_term" sequence="2"/>
431
432         <menuitem id="menu_pm_resources_project1"
433             groups="base.group_extended"
434             name="Resources" parent="project.menu_definitions" sequence="3"/>
435
436         <menuitem id="menu_phase_schedule" name="Scheduling" parent="base.menu_main_pm" sequence="4" groups="project.group_project_user,project.group_project_manager"/>
437         <menuitem action="resource.action_resource_resource_tree" id="menu_view_resource" parent="menu_pm_resources_project1" sequence="2"/>
438         <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_resources_project1" sequence="1"/>
439         <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_resources_project1" sequence="1"/>
440
441     </data>
442 </openerp>