[MERGE] 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="3"/>
6
7     # ------------------------------------------------------
8     # Project User Allocation
9     # ------------------------------------------------------
10
11         <record id="view_project_user_allocation_gantt" model="ir.ui.view">
12             <field name="name">project.user.allocation.gantt</field>
13             <field name="model">project.user.allocation</field>
14             <field name="type">gantt</field>
15             <field name="arch" type="xml">
16               <gantt date_start="date_start" date_stop="date_end" default_group_by="user_id">
17               </gantt>
18             </field>
19         </record>
20
21         <record id="view_project_user_allocation_calendar" model="ir.ui.view">
22             <field name="name">project.user.allocation.calendar</field>
23             <field name="model">project.user.allocation</field>
24             <field name="type">calendar</field>
25             <field eval="2" name="priority"/>
26             <field name="arch" type="xml">
27                 <calendar color="user_id" date_start="date_start" date_stop="date_end" day_length="12" string="Users">
28                     <field name="phase_id"/>
29                     <field name="project_id"/>
30                 </calendar>
31             </field>
32         </record>
33
34
35         <record id="view_project_user_allocation_form" model="ir.ui.view">
36             <field name="name">project.user.allocation.form</field>
37             <field name="model">project.user.allocation</field>
38             <field name="type">form</field>
39             <field name="arch" type="xml">
40                 <form string="Project User Allocation" version="7.0">
41                     <group col="4">
42                         <field name="user_id"/>
43                         <field name="phase_id"/>
44                         <field name="project_id"/>
45                         <field name="date_start"/>
46                         <field name="date_end"/>
47                     </group>
48                 </form>
49             </field>
50         </record>
51
52         <record id="view_project_user_allocation_list" model="ir.ui.view">
53             <field name="name">project.user.allocation.list</field>
54             <field name="model">project.user.allocation</field>
55             <field name="type">tree</field>
56             <field name="priority" eval="5"/>
57             <field name="arch" type="xml">
58                 <tree editable="bottom" string="Project User Allocation">
59                     <field name="user_id"/>
60                     <field name="phase_id"/>
61                     <field name="project_id"/>
62                 </tree>
63             </field>
64         </record>
65
66        <record id="view_project_user_allocation_search" model="ir.ui.view">
67             <field name="name">project.user.allocation.search</field>
68             <field name="model">project.user.allocation</field>
69             <field name="type">search</field>
70             <field name="arch" type="xml">
71                 <search string="Planning of Users">
72                     <group>
73                         <field name="user_id"/>
74                         <field name="phase_id"/>
75                         <field name="project_id"/>
76                     </group>
77                     <newline/>
78                     <group expand="0" string="Group By...">
79                         <filter name="user" string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
80                         <separator orientation="vertical"/>
81                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
82                         <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/>
83                     </group>
84                 </search>
85             </field>
86         </record>
87         <record id="act_resouce_allocation" model="ir.actions.act_window">
88             <field name="name">Planning of Users</field>
89             <field name="res_model">project.user.allocation</field>
90             <field name="view_type">form</field>
91             <field name="view_mode">gantt,tree,form,calendar</field>
92             <field name="context">{}</field>
93             <field name="search_view_id" ref="view_project_user_allocation_search"/>
94         </record>
95
96
97     # ------------------------------------------------------
98     # Project Phase
99     # ------------------------------------------------------
100
101         <record id="project_phase_form" model="ir.ui.view">
102             <field name="name">Inherit project form : Phase</field>
103             <field name="model">project.project</field>
104             <field name="type">form</field>
105             <field name="inherit_id" ref="project.edit_project"/>
106             <field name="arch" type="xml">
107                 <field name="use_tasks" position="after">
108                     <field name="use_phases"/>
109                 </field>
110             </field>
111         </record>
112
113         <act_window id="act_project_phases"
114             name="Phases"
115             src_model="project.project"
116             res_model="project.phase"
117             view_type="form"
118             view_mode="tree,form"
119             context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
120         />
121
122         <record id="view_project_kanban_phase" model="ir.ui.view">
123             <field name="name">project.project.kanban.inherited</field>
124             <field name="model">project.project</field>
125             <field name="type">kanban</field>
126             <field name="inherit_id" ref="project.view_project_kanban"/>
127             <field name="arch" type="xml">
128                 <field name="use_tasks" position="after">
129                     <field name="use_phases"/>
130                     <field name="phase_count"/>
131                 </field>
132                 <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]" position="inside">
133                     <a t-if="record.use_phases.raw_value"
134                         name="%(act_project_phases)d" type="action">Phases(<field name="phase_count"/>)</a>
135                 </xpath>
136             </field>
137         </record>
138
139         <record id="view_project_phase_form" model="ir.ui.view">
140             <field name="name">project.phase.form</field>
141             <field name="model">project.phase</field>
142             <field name="type">form</field>
143             <field name="arch" type="xml">
144                 <form string="Project Phase" version="7.0">
145                 <header>
146                     <button string="Start Phase" name="set_open" states="pending,draft" class="oe_highlight"/>
147                     <button string="Done" name="set_done" states="pending,open" class="oe_highlight"/>
148                     <button string="Pending" name="set_pending" states="open" class="oe_form_button_return_flow"/>
149                     <button string="Draft" name="set_draft" states="open" class="oe_form_button_return_flow"/>
150                     <button string="Cancel" name="set_cancel" states="draft,open,pending"/>
151                     <field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
152                 </header>
153                 <sheet>
154                     <label for="name" class="oe_edit_only"/>
155                     <h1><field name="name"/></h1>
156                     <label for="project_id" class="oe_edit_only"/>
157                     <h2>
158                         <field name="project_id" on_change="onchange_project(project_id)" colspan="3"/>
159                     </h2>
160                     <group>
161                         <group>
162                             <field name="date_start"/>
163                             <field name="date_end"/>
164                         </group><group>
165                             <label for="duration"/>
166                             <div>
167                                 <field name="duration" class="oe_inline"/>
168                                 <field name="product_uom"/>
169                             </div>
170                         </group>
171                     </group>
172                     <notebook>
173                         <page string="Planning of Users">
174                             <field name="user_ids">
175                                  <tree editable="bottom" string="Project Users">
176                                       <field name="user_id"/>
177                                       <field name="date_start"/>
178                                       <field name="date_end"/>
179                                   </tree>
180                                   <form string="Project Users" version="7.0">
181                                       <group col="4">
182                                           <field name="user_id"/>
183                                           <field name="date_start" />
184                                           <field name="date_end"/>
185                                       </group>
186                                   </form>
187                              </field>
188                         </page>
189                         <page string="Tasks Details">
190                             <field name="task_ids" readonly="1" context="{'default_project_id' :project_id}">
191                                  <tree string="Project's Tasks">
192                                     <field name="sequence"/>
193                                     <field name="name"/>
194                                     <field name="user_id"/>
195                                     <field name="date_start"/>
196                                     <field name="date_end" />
197                                     <field name="planned_hours" widget="float_time"/>
198                                     <field name="project_id" invisible="1"/>
199                                     <field name="total_hours" sum='Total Hours'/>
200                                     <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/>
201                                     <field name="state"/>
202                                   </tree>
203                              </field>
204                         </page>
205                         <page string="Constraints">
206                            <group>
207                                <group>
208                                     <field name="constraint_date_start"/>
209                                     <field name="constraint_date_end"/>
210                                 </group>
211                                 <group>
212                                     <field name="sequence"/>
213                                 </group>
214                             </group>
215                            <separator string="Force Assigned Users"/>
216                            <field name="user_force_ids" widget="many2many_tags" />
217                            <separator string="Previous Phases"/>
218                            <field name="previous_phase_ids"/>
219                            <separator string="Next Phases"/>
220                            <field name="next_phase_ids"/>
221                         </page>
222                     </notebook>
223                 </sheet>
224                 </form>
225             </field>
226         </record>
227
228         <record id="view_project_phase_list" model="ir.ui.view">
229             <field name="name">project.phase.list</field>
230             <field name="model">project.phase</field>
231             <field name="type">tree</field>
232             <field name="priority" eval="5"/>
233             <field name="arch" type="xml">
234                 <tree colors="grey:state in ('cancelled','done');blue:state == 'pending'" string="Project Phases">
235                     <field name="name"/>
236                     <field name="project_id" on_change="onchange_project(project_id)"/>
237                     <field name="date_start"/>
238                     <field name="date_end"/>
239                     <field name="duration"/>
240                     <field name="state"/>
241                 </tree>
242             </field>
243         </record>
244
245         <record id="view_project_phase_calendar" model="ir.ui.view">
246             <field name="name">project.phase.calendar</field>
247             <field name="model">project.phase</field>
248             <field name="type">calendar</field>
249             <field eval="2" name="priority"/>
250             <field name="arch" type="xml">
251                 <calendar color="project_id" date_start="date_start" date_stop="date_end" day_length="12">
252                     <field name="name"/>
253                 </calendar>
254             </field>
255         </record>
256
257         <record id="view_project_phase_gantt" model="ir.ui.view">
258             <field name="name">project.phase.gantt</field>
259             <field name="model">project.phase</field>
260             <field name="type">gantt</field>
261             <field eval="2" name="priority"/>
262             <field name="arch" type="xml">
263                 <gantt date_stop="date_end" date_start="date_start" default_group_by="project_id">
264                 </gantt>
265             </field>
266         </record>
267
268         <record id="view_project_phase_search" model="ir.ui.view">
269             <field name="name">project.phase.search</field>
270             <field name="model">project.phase</field>
271             <field name="type">search</field>
272             <field name="arch" type="xml">
273                 <search string="Project Phases">
274                     <group>
275                         <filter string="New" domain="[('state','=','draft')]"  name="current" help="New Phases" icon="terp-check"/>
276                         <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/>
277                         <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
278                         <separator orientation="vertical"/>
279                         <field name="name"/>
280                         <field name="project_id">
281                             <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/>
282                         </field>
283                         <field name="date_start"/>
284                         <field name="date_end"/>
285                     </group>
286                     <newline/>
287                     <group expand="0" string="Group By...">
288                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" name="project"/>
289                         <separator orientation="vertical"/>
290                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
291                         <separator orientation="vertical"/>
292                         <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Month"/>
293                     </group>
294                 </search>
295             </field>
296         </record>
297
298         <record id="act_project_phase" model="ir.actions.act_window">
299             <field name="name">Project Phases</field>
300             <field name="res_model">project.phase</field>
301             <field name="view_type">form</field>
302             <field name="view_mode">gantt,tree,form,calendar</field>
303             <field name="context">{}</field>
304             <field name="search_view_id" ref="view_project_phase_search"/>
305             <field name="help">A project can be split into the different phases. For each phase, you can define your users 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 users, convert your phases into a series of tasks when you start working on the project.</field>
306         </record>
307
308         <record id="act_project_phase_list" model="ir.actions.act_window">
309             <field name="name">Project Phases</field>
310             <field name="res_model">project.phase</field>
311             <field name="view_type">form</field>
312             <field name="view_mode">tree,form,calendar</field>
313              <field name="context">{}</field>
314             <field name="search_view_id" ref="view_project_phase_search"/>
315         </record>
316
317
318     # ------------------------------------------------------
319     # Project Task
320     # ------------------------------------------------------
321
322         <record id="view_phase_task_form2" model="ir.ui.view">
323             <field name="name">phase.task.form2</field>
324             <field name="model">project.task</field>
325             <field name="type">form</field>
326             <field name="inherit_id" ref="project.view_task_form2"/>
327             <field name="arch" type="xml">
328                 <xpath expr="//field[@name='effective_hours']" position="after">
329                     <field name="phase_id" context="{'default_project_id' : project_id}"/>
330                 </xpath>
331             </field>
332         </record>
333         <record id="view_phase_task_search_form" model="ir.ui.view">
334             <field name="name">phase.task.search.form</field>
335             <field name="model">project.task</field>
336             <field name="type">search</field>
337             <field name="inherit_id" ref="project.view_task_search_form"/>
338             <field name="arch" type="xml">
339                 <field name="user_id" position="before">
340                     <field name="phase_id"/>
341                 </field>
342             </field>
343         </record>
344
345          <record id="view_phase_task_search_form_group" model="ir.ui.view">
346             <field name="name">phase.task.search.form.group</field>
347             <field name="model">project.task</field>
348             <field name="type">search</field>
349             <field name="inherit_id" ref="project.view_task_search_form"/>
350             <field name="arch" type="xml">
351             <filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" position="after">
352                 <filter string="Project Phase" name="group_project_id_phase" icon="terp-folder-violet" domain="[]" context="{'group_by':'phase_id'}"/>
353             </filter>
354             </field>
355         </record>
356
357          <record id="view_phase_task_search_form_tree" model="ir.ui.view">
358             <field name="name">phase.task.search.form.tree</field>
359             <field name="model">project.task</field>
360             <field name="type">tree</field>
361             <field name="inherit_id" ref="project.view_task_tree2"/>
362             <field name="arch" type="xml">
363                 <field name="project_id" position="after">
364                     <field name="phase_id" invisible="1"/>
365                 </field>
366             </field>
367         </record>
368
369     <act_window
370         context="{'search_default_phase_id': [active_id], 'default_phase_id' : active_id}"
371         id="project_phase_task_list"
372         name="Related Tasks"
373         res_model="project.task"
374         src_model="project.phase"
375         view_mode="tree,form"
376         />
377
378     # ------------------------------------------------------
379     # Menu Items
380     # ------------------------------------------------------
381
382         <menuitem action="act_project_phase_list"
383             id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/>
384
385         <menuitem action="act_project_phase"
386             icon="STOCK_INDENT"
387             id="menu_project_phase"   parent="base.menu_project_long_term" sequence="1"/>
388
389         <menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
390             icon="STOCK_INDENT"
391             parent="base.menu_project_long_term" sequence="2"/>
392
393         <menuitem id="menu_pm_users_project1"
394             name="Resources" parent="project.menu_definitions" sequence="3"/>
395
396         <menuitem id="menu_phase_schedule" name="Scheduling" parent="base.menu_main_pm" sequence="4" groups="project.group_project_user,project.group_project_manager"/>
397         <menuitem action="resource.action_resource_resource_tree" id="menu_view_resource" parent="menu_pm_users_project1" sequence="2"/>
398         <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_users_project1" sequence="5"/>
399         <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_users_project1" sequence="3"/>
400
401     </data>
402 </openerp>