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