[IMP] project_long_term: *improve the form view of phase
[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="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_form" model="ir.ui.view">
12             <field name="name">project.resource.allocation.form</field>
13             <field name="model">project.resource.allocation</field>
14             <field name="type">form</field>
15             <field name="arch" type="xml">
16                 <form string="Project Resource Allocation">
17                     <field name="resource_id" select="1"/>
18                     <field name="phase_id"/>
19                     <field name="useability"/>
20                 </form>
21             </field>
22         </record>
23
24         <record id="view_project_resource_allocation_list" model="ir.ui.view">
25             <field name="name">project.resource.allocation.list</field>
26             <field name="model">project.resource.allocation</field>
27             <field name="type">tree</field>
28             <field name="priority" eval="5"/>
29             <field name="arch" type="xml">
30                 <tree editable="bottom" string="Project Resource Allocation">
31                     <field name="resource_id"/>
32                                         <field name="phase_id"/>
33                     <field name="useability"/>
34                 </tree>
35             </field>
36         </record>
37
38        <record id="view_project_resource_allocation_search" model="ir.ui.view">
39             <field name="name">project.resource.allocation.search</field>
40             <field name="model">project.resource.allocation</field>
41             <field name="type">search</field>
42             <field name="arch" type="xml">
43                 <search string="Resource Allocations">
44                     <group colspan="4" col="20">
45                         <field name="resource_id" widget="selection"/>
46                         <field name="phase_id" widget="selection"/>
47                     </group>
48                     <newline/>
49                     <group expand="1" string="Group By..." colspan="4" col="20">
50                         <filter name="resource" string="Resource" icon="terp-project" domain="[]" context="{'group_by':'resource_id'}"/>
51                         <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/>
52                     </group>
53                 </search>
54             </field>
55         </record>
56
57        <record id="act_resouce_allocation" model="ir.actions.act_window">
58             <field name="name">Resource Allocations</field>
59             <field name="res_model">project.resource.allocation</field>
60             <field name="view_type">form</field>
61             <field name="view_mode">tree,form</field>
62                         <field name="context">{'search_default_resource': 1} </field>
63             <!--<field name="search_view_id" ref="view_project_phase_search"/>-->
64         </record>
65
66
67     # ------------------------------------------------------
68     # Project Phase
69     # ------------------------------------------------------
70
71         <record id="view_project_phase_form" model="ir.ui.view">
72             <field name="name">project.phase.form</field>
73             <field name="model">project.phase</field>
74             <field name="type">form</field>
75             <field name="arch" type="xml">
76                 <form string="Project Phase">
77                     <group colspan="6" col="6">
78                         <field name="name" select="1"/>
79                         <field name="project_id" on_change="onchange_project(project_id)"/>
80                         <field name="responsible_id"/>
81                     </group>
82                     <group colspan="6" col="6">
83                         <field name="duration" />
84                         <field name="product_uom" nolabel="1" domain="[('category_id.name', '=', 'Working Time')]"/>
85                         <field name="date_start"/>
86                         <field name="date_end"/>
87                     </group>
88                     <notebook colspan="4">
89                         <page string="Resource Allocation">
90                             <field colspan="4" name="resource_ids" nolabel="1">
91                                  <tree editable="bottom" string="Project Resource Allocation">
92                                     <field name="resource_id" context="{'project_id':parent.project_id}"/>
93                                     <field name="useability"/>
94                                   </tree>
95                                   <form string="Project Resource Allocation">
96                                     <field name="resource_id" context="{'project_id':parent.project_id}"/>
97                                     <field name="useability"/>
98                                   </form>
99                              </field>
100                             <separator string="" colspan="4"/>
101                             <group col="12" colspan="4">
102                                 <field name="state" select="1"/>
103                                 <button string="Draft" name="set_draft" states="open" icon="gtk-indent"/>
104                                 <button string="Start Phase" name="set_open" states="pending,draft" icon="gtk-execute"/>
105                                 <button string="Done" name="set_done" states="draft,pending,open" icon="gtk-jump-to"/>
106                                 <button string="Pending" name="set_pending" states="open" icon="gtk-media-pause"/>
107                                 <button string="Cancel" name="set_cancel" states="draft,open,pending" icon="gtk-cancel"/>
108                             </group>
109                         </page>
110                         <page string="Other Info">
111                            <group colspan="2" col="2">
112                                 <separator string="Constraints" colspan="2"/>
113                                 <field name="constraint_date_start"/>
114                                 <field name="constraint_date_end"/>
115                             </group>
116                             <group colspan="2" col="2">
117                                 <separator string="Scheduling" colspan="2"/>
118                                 <field name="sequence"/>
119                             </group>
120                            <separator colspan="4" string="Previous Phases"/>
121                            <field colspan="4" name="previous_phase_ids" nolabel="1"/>
122                            <separator colspan="4" string="Next Phases"/>
123                            <field colspan="4" name="next_phase_ids" nolabel="1"/>
124                         </page>
125                         <page string="Task Detail">
126                             <separator colspan="4" string="Project's Tasks"/>
127                             <field colspan="4" name="task_ids" context="{'default_project_id' :project_id}" nolabel="1">
128                                  <tree editable="bottom" string="Project's Tasks">
129                                     <field name="name"/>
130                                     <field name="user_id"/>
131                                     <field name="planned_hours" widget="float_time" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours)"/>
132                                   </tree>
133                                   <form string="Project's Tasks">
134                                       <notebook colspan="4">
135                                           <page string="Task Detail">
136                                               <group colspan="4" col="4">
137                                                 <field name="name"/>
138                                                 <field name="project_id"/>
139                                                 <field name="user_id"/>
140                                             </group>
141                                             <group colspan="2" col="2">
142                                                   <separator string="Dates" colspan="2"/>
143                                                   <field name="date_start"/>
144                                                   <field name="date_deadline"/>
145                                                   <field name="occupation_rate"/>
146                                             </group>
147                                             <group colspan="2" col="2">
148                                                   <separator string="Planning" colspan="2"/>
149                                                   <field name="planned_hours" widget="float_time" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours)"/>
150                                                 <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/>
151                                                 <field name="effective_hours" invisible="1"/>
152                                             </group>
153                                             <group colspan="6" col="4">
154                                                 <field name="state"/>
155                                             </group>
156                                         </page>
157                                     </notebook>
158                                   </form>
159                              </field>
160                                 <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
161                         </page>
162                     </notebook>
163                     <newline/>
164                 </form>
165             </field>
166         </record>
167
168         <record id="view_project_phase_list" model="ir.ui.view">
169             <field name="name">project.phase.list</field>
170             <field name="model">project.phase</field>
171             <field name="type">tree</field>
172             <field name="priority" eval="5"/>
173             <field name="arch" type="xml">
174                 <tree string="Project Phases">
175                     <field name="name"/>
176                     <field name="project_id" on_change="onchange_project(project_id)"/>
177                     <field name="responsible_id"/>
178                     <field name="date_start"/>
179                     <!--<field name="date_end"/>
180                     <field name="duration"/>
181                     <field name="product_uom"/>-->
182                     <field name="state"/>
183                 </tree>
184             </field>
185         </record>
186
187         <record id="view_project_phase_calendar" model="ir.ui.view">
188             <field name="name">project.phase.calendar</field>
189             <field name="model">project.phase</field>
190             <field name="type">calendar</field>
191             <field eval="2" name="priority"/>
192             <field name="arch" type="xml">
193                 <calendar color="responsible_id" date_start="date_start" date_stop="date_end" day_length="12" string="Phases">
194                     <field name="name"/>
195                     <field name="project_id"/>
196                 </calendar>
197             </field>
198         </record>
199
200         <record id="view_project_phase_gantt" model="ir.ui.view">
201             <field name="name">project.phase.gantt</field>
202             <field name="model">project.phase</field>
203             <field name="type">gantt</field>
204             <field eval="2" name="priority"/>
205             <field name="arch" type="xml">
206                 <gantt color="responsible_id" date_stop="date_end" date_start="date_start" string="Phases">
207                     <level object="project.project" link="project_id" domain="[]">
208                         <field name="name"/>
209                     </level>
210                 </gantt>
211             </field>
212         </record>
213
214         <record id="view_project_phase_search" model="ir.ui.view">
215             <field name="name">project.phase.search</field>
216             <field name="model">project.phase</field>
217             <field name="type">search</field>
218             <field name="arch" type="xml">
219                 <search string="Project Phases">
220                     <group colspan="4" col="20">
221                         <filter string="Current" domain="[('state','in',('open','draft'))]" help="Draft, Open and Pending Phases" icon="terp-project" default="1"/>
222                         <filter string="In Progress" domain="[('state','=','open')]" help="Open Phases" icon="terp-project"/>
223                         <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-project"/>
224                         <separator orientation="vertical"/>
225                         <field name="name"/>
226                         <field name="project_id" widget="selection">
227                             <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-project"/>
228                         </field>
229                         <field name="responsible_id" widget="selection"/>
230                         <field name="date_start"/>
231                     </group>
232                     <newline/>
233                     <group expand="1" string="Group By..." colspan="4" col="20">
234                         <filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}"/>
235                         <filter string="State" icon="terp-project" domain="[]" context="{'group_by':'state'}"/>
236                         <filter string="User" icon="terp-project" domain="[]" context="{'group_by':'responsible_id'}"/>
237                         <filter string="Start Date" icon="terp-project" domain="[]" context="{'group_by':'date_start'}"/>
238                     </group>
239                 </search>
240             </field>
241         </record>
242
243         <record id="act_project_phase" model="ir.actions.act_window">
244             <field name="name">Project Phases</field>
245             <field name="res_model">project.phase</field>
246             <field name="view_type">form</field>
247             <field name="view_mode">gantt,tree,form,calendar</field>
248                         <field name="context">{'search_default_responsible_id':uid}</field>
249             <field name="search_view_id" ref="view_project_phase_search"/>
250         </record>
251
252     # ------------------------------------------------------
253     # Project
254     # ------------------------------------------------------
255
256         <record id="view_phase_project_form1" model="ir.ui.view">
257             <field name="name">phase.project.form1</field>
258             <field name="model">project.project</field>
259             <field name="type">form</field>
260             <field name="inherit_id" ref="project.edit_project"/>
261             <field name="arch" type="xml">
262                 <field name="priority" position="before">
263                     <field name="resource_calendar_id"/>
264                 </field>
265
266             </field>
267        </record>
268
269     # ------------------------------------------------------
270     # Project Task
271     # ------------------------------------------------------
272
273         <record id="view_project_phase_task_form1" model="ir.ui.view">
274             <field name="name">project.phase.task.form1</field>
275             <field name="model">project.task</field>
276             <field name="type">form</field>
277             <field name="inherit_id" ref="project.view_task_form2"/>
278             <field name="arch" type="xml">
279                 <field name="planned_hours" position="replace">
280                     <field name="planned_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours, date_start, occupation_rate)"/>
281                 </field>
282
283             </field>
284        </record>
285
286         <record id="view_project_phase_task_form2" model="ir.ui.view">
287             <field name="name">project.phase.task.form2</field>
288             <field name="model">project.task</field>
289             <field name="type">form</field>
290             <field name="inherit_id" ref="project.view_task_form2"/>
291             <field name="arch" type="xml">
292                 <field name="date_end" position = "after">
293                       <field name="occupation_rate"/>
294                 </field>
295             </field>
296        </record>
297
298         <act_window
299         id="project_phase_task_list"
300         name="Related Tasks"
301         res_model="project.task"
302         src_model="project.phase"
303         view_mode="tree,form"
304         domain="[('phase_id','=',active_id)]"/>
305
306         <act_window
307         domain="[('project_id', '=', active_id)]"
308         id="act_project_phases"
309         name="Phases"
310         res_model="project.phase"
311         src_model="project.project"
312         view_mode="tree,form"
313         view_type="form" />
314
315     # ------------------------------------------------------
316     # Menu Items
317     # ------------------------------------------------------
318
319         <menuitem action="act_project_phase"
320             groups="base.group_extended"
321             id="menu_project_phase" parent="menu_project_long_term" sequence="4"/>
322
323                 <menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
324             name="Resource Allocations" parent="menu_project_long_term" />
325
326         <menuitem icon="terp-project" id="base.menu_main_pm" name="Project Management" sequence="1"/>
327         <menuitem id="menu_pm_resources_project1"
328             groups="base.group_extended"
329             name="Resources" parent="base.menu_main_pm" sequence="2"/>
330
331         <menuitem id="menu_phase_schedule" name="Scheduling" parent="menu_project_long_term"/>
332         <menuitem action="resource.action_resource_resource_tree" id="menu_view_resource" parent="menu_pm_resources_project1" sequence="1"/>
333         <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_resources_project1" sequence="1"/>
334         <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_resources_project1" sequence="1"/>
335
336     </data>
337 </openerp>