1 <?xml version="1.0" encoding="utf-8"?>
5 <menuitem id="menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="1"/>
7 # ------------------------------------------------------
8 # Project Resource Allocation
9 # ------------------------------------------------------
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"/>
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"/>
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"/>
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'}"/>
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"/>-->
67 # ------------------------------------------------------
69 # ------------------------------------------------------
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"/>
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"/>
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"/>
95 <form string="Project Resource Allocation">
96 <field name="resource_id" context="{'project_id':parent.project_id}"/>
97 <field name="useability"/>
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"/>
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"/>
116 <group colspan="2" col="2">
117 <separator string="Scheduling" colspan="2"/>
118 <field name="sequence"/>
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"/>
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">
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)"/>
133 <form string="Project's Tasks">
134 <notebook colspan="4">
135 <page string="Task Detail">
136 <group colspan="4" col="4">
138 <field name="project_id"/>
139 <field name="user_id"/>
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"/>
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"/>
153 <group colspan="6" col="4">
154 <field name="state"/>
160 <button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
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">
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"/>
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">
195 <field name="project_id"/>
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="[]">
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"/>
226 <field name="project_id" widget="selection">
227 <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-project"/>
229 <field name="responsible_id" widget="selection"/>
230 <field name="date_start"/>
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'}"/>
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"/>
252 # ------------------------------------------------------
254 # ------------------------------------------------------
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"/>
269 # ------------------------------------------------------
271 # ------------------------------------------------------
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)"/>
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"/>
299 id="project_phase_task_list"
301 res_model="project.task"
302 src_model="project.phase"
303 view_mode="tree,form"
304 domain="[('phase_id','=',active_id)]"/>
307 domain="[('project_id', '=', active_id)]"
308 id="act_project_phases"
310 res_model="project.phase"
311 src_model="project.project"
312 view_mode="tree,form"
315 # ------------------------------------------------------
317 # ------------------------------------------------------
319 <menuitem action="act_project_phase"
320 groups="base.group_extended"
321 id="menu_project_phase" parent="menu_project_long_term" sequence="4"/>
323 <menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
324 name="Resource Allocations" parent="menu_project_long_term" />
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"/>
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"/>