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