modified files of project.py and project_view.xml
[odoo/odoo.git] / addons / project / project_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <terp>
3     <data>
4         <menuitem icon="terp-project" id="menu_main" name="Project Management"/>
5         <menuitem id="menu_definitions" name="Configuration" parent="project.menu_main" sequence="1"/>
6
7         <!-- Project -->
8         <record id="edit_project" model="ir.ui.view">
9             <field name="name">project.project.form</field>
10             <field name="model">project.project</field>
11             <field name="type">form</field>
12             <field name="arch" type="xml">
13                 <form string="Project">
14                     <group colspan="4" col="6">
15                         <field name="name" select="1"/>
16                         <field name="parent_id"/>
17                         <field name="manager" select="1"/>
18                         <field name="date_start"/>
19                         <field name="date_end"/>
20                         <field name="progress_rate" widget="progressbar"/>
21                     </group>
22                     <notebook colspan="4">
23                         <page string="Administration">
24                             <field name="priority"/>
25                             <field name="planned_hours" widget="float_time"/>
26                             <field name="effective_hours" widget="float_time"/>
27                             <field name="warn_manager"/>
28                             <field name="timesheet_id"/>
29                             <field name="active" select="2"/>
30                             <newline/>
31                             <separator colspan="4" string="Project's members"/>
32                             <field colspan="4" name="members" nolabel="1"/>
33                             <group col="6" colspan="8">
34                                 <field name="state"/>
35                                 <button name="settemplate" string="set as template" type="object" states="open"/>
36                                                                 <button name="resetproject" string="reset as project" type="object" states="template"/>
37                                                                 <button name="duplicatetemplate" string="duplicate template" type="object" states="template"/>
38                             </group>
39                         </page>
40                         <page groups="base.group_extended" string="Partner Info">
41                             <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
42                             <field domain="[('partner_id','=',partner_id)]" name="contact_id" select="2"/>
43                             <field name="category_id" select="2"/>
44                             <field name="warn_customer"/>
45                             <newline/>
46                             <separator colspan="2" string="Mail Header"/>
47                             <separator colspan="2" string="Mail Footer"/>
48                             <field name="warn_header" nolabel="1" colspan="2"/>
49                             <field name="warn_footer" nolabel="1" colspan="2"/>
50                             <group col="3" colspan="4">
51                                 <label string="Task: %%(name)s"/>
52                                 <label string="User: %%(user_id)s"/>
53                                 <label string="ID: %%(task_id)s"/>
54                                 <label string="Status: %%(state)s"/>
55                                 <label string="Date Start: %%(date_start)s"/>
56                                 <label string="Date Stop: %%(date_stop)s"/>
57                             </group>
58                         </page>
59                         <page string="Notes">
60                             <field colspan="4" name="notes" nolabel="1"/>
61                         </page>
62                     </notebook>
63                     <newline/>
64                 </form>
65             </field>
66         </record>
67         <record id="view_project" model="ir.ui.view">
68             <field name="name">project.project.tree</field>
69             <field name="model">project.project</field>
70             <field name="type">tree</field>
71             <field name="field_parent">child_id</field>
72             <field name="arch" type="xml">
73                 <tree string="Projects">
74                     <field name="name"/>
75                     <field name="manager"/>
76                     <field name="partner_id"/>
77                     <field name="planned_hours" widget="float_time"/>
78                     <field name="effective_hours" widget="float_time"/>
79                     <field name="progress_rate" widget="progressbar"/>
80                     <field name="state"/>
81                 </tree>
82             </field>
83         </record>
84         <record id="open_view_all_project" model="ir.actions.act_window">
85             <field name="name">All Projects</field>
86             <field name="res_model">project.project</field>
87             <field name="view_type">tree</field>
88             <field name="domain">[('parent_id','=',False)]</field>
89             <field name="view_id" ref="view_project"/>
90         </record>
91         <menuitem action="open_view_all_project" id="menu_all_project" parent="project.menu_main"/>
92
93         <record id="open_view_project" model="ir.actions.act_window">
94             <field name="name">New Project</field>
95             <field name="res_model">project.project</field>
96             <field name="view_type">form</field>
97             <field name="view_mode">form,tree,calendar</field>
98             <field name="view_id" eval="False"/>
99         </record>
100         <menuitem action="open_view_project" id="menu_open_view_project" parent="menu_all_project"/>
101
102
103         <record id="open_view_all_project_unclosed" model="ir.actions.act_window">
104             <field name="name">Unclosed projects</field>
105             <field name="res_model">project.project</field>
106             <field name="view_type">tree</field>
107             <field name="domain">[('parent_id','=',False),('state','&lt;&gt;','cancelled'),('state','&lt;&gt;','done')]</field>
108             <field name="view_id" ref="view_project"/>
109         </record>
110         <menuitem action="open_view_all_project_unclosed" id="menu_all_project_unclosed" parent="project.menu_all_project"/>
111
112
113         <record id="open_view_all_project_unclosed_open" model="ir.actions.act_window">
114             <field name="name">Open projects</field>
115             <field name="res_model">project.project</field>
116             <field name="view_type">tree</field>
117             <field name="domain">[('parent_id','=',False),('state','=','open')]</field>
118             <field name="view_id" ref="view_project"/>
119         </record>
120         <menuitem action="open_view_all_project_unclosed_open" id="menu_all_project_unclosed_open" parent="project.menu_all_project_unclosed"/>
121
122
123         <record id="open_view_project_open" model="ir.actions.act_window">
124             <field name="name">Open projects</field>
125             <field name="res_model">project.project</field>
126             <field name="view_type">form</field>
127             <field name="domain">[('state','=','open')]</field>
128             <field name="view_id" ref="view_project"/>
129         </record>
130         <menuitem id="next_id_54" name="Projects" parent="project.menu_definitions"/><menuitem action="open_view_project_open" id="menu_open_view_project_open" parent="next_id_54"/>
131
132
133         <record id="view_task_work_form" model="ir.ui.view">
134             <field name="name">project.task.work.form</field>
135             <field name="model">project.task.work</field>
136             <field name="type">form</field>
137             <field name="arch" type="xml">
138                 <form string="Task Work">
139                     <field colspan="4" name="name" select="1"/>
140                     <field name="hours" select="1" widget="float_time"/>
141                     <field name="date" select="1"/>
142                     <field name="user_id" select="1"/>
143                 </form>
144             </field>
145         </record>
146
147         <record id="view_task_work_tree" model="ir.ui.view">
148             <field name="name">project.task.work.tree</field>
149             <field name="model">project.task.work</field>
150             <field name="type">tree</field>
151             <field name="arch" type="xml">
152                 <tree editable="top" string="Task Work">
153                     <field name="date"/>
154                     <field name="name"/>
155                     <field name="hours" widget="float_time"/>
156                     <field name="user_id"/>
157                 </tree>
158             </field>
159         </record>
160
161         <record id="view_my_project" model="ir.ui.view">
162             <field name="name">project.project.tree</field>
163             <field name="model">project.project</field>
164             <field name="type">tree</field>
165             <field name="field_parent">child_id</field>
166             <field name="arch" type="xml">
167                 <tree string="My projects">
168                     <field name="name"/>
169                     <field name="partner_id"/>
170                     <field name="planned_hours" widget="float_time"/>
171                     <field name="effective_hours" widget="float_time"/>
172                     <field name="progress_rate" widget="progressbar"/>
173                     <field name="state"/>
174                 </tree>
175             </field>
176         </record>
177         <record id="open_view_my_project" model="ir.actions.act_window">
178             <field name="name">My projects</field>
179             <field name="res_model">project.project</field>
180             <field name="view_type">tree</field>
181             <field name="domain">[('manager', '=', uid)]</field>
182             <field name="view_id" ref="view_my_project"/>
183         </record>
184         <menuitem action="open_view_my_project" id="menu_open_view_my_project" parent="project.menu_main"/>
185
186
187         <record id="open_view_my_project_open_unclosed" model="ir.actions.act_window">
188             <field name="name">My unclosed projects</field>
189             <field name="res_model">project.project</field>
190             <field name="view_type">tree</field>
191             <field name="domain">[('manager', '=', uid),('state','&lt;&gt;','cancelled'),('state','&lt;&gt;','done')]</field>
192             <field name="view_id" ref="view_my_project"/>
193         </record>
194         <menuitem action="open_view_my_project_open_unclosed" id="menu_open_view_my_project_open_unclosed" parent="project.menu_open_view_my_project"/>
195
196
197         <record id="open_view_my_project_open" model="ir.actions.act_window">
198             <field name="name">My open projects</field>
199             <field name="res_model">project.project</field>
200             <field name="view_type">tree</field>
201             <field name="domain">[('manager', '=', uid),('state','=','open')]</field>
202             <field name="view_id" ref="view_my_project"/>
203         </record>
204         <menuitem action="open_view_my_project_open" id="menu_open_view_my_project_open" parent="project.menu_open_view_my_project_open_unclosed"/>
205
206         <!-- Task -->
207         <record id="view_task_form2" model="ir.ui.view">
208             <field name="name">project.task.form</field>
209             <field name="model">project.task</field>
210             <field name="type">form</field>
211             <field eval="2" name="priority"/>
212             <field name="arch" type="xml">
213                 <form string="Task edition">
214                     <group colspan="6" col="6">
215                         <field name="name" select="1"/>
216                         <field name="project_id" required="1" select="1"/>
217                         <field name="total_hours" widget="float_time"/>
218                         <field name="user_id" select="1"/>
219                         <field name="date_deadline" select="2"/>
220                         <field name="progress" widget="progressbar"/>
221                     </group>
222                     <notebook colspan="4">
223                         <page string="Information">
224                             <field
225                                 name="planned_hours" 
226                                 widget="float_time"
227                                 on_change="onchange_planned(planned_hours,effective_hours)"/>
228                             <field name="delay_hours" widget="float_time"/>
229                             <field name="remaining_hours" select="2" widget="float_time"/>
230                             <field name="effective_hours" widget="float_time"/>
231
232                             <field colspan="4" name="description" nolabel="1" select="2"/>
233                             <field colspan="4" name="work_ids" nolabel="1"/>
234                             <newline/>
235                             <group col="11" colspan="4">
236                                 <field name="state" select="1"/>
237                                 <button name="do_draft" states="open" string="Set Draft" type="object"/>
238                                 <button name="do_open" states="pending,draft" string="Open" type="object"/>
239                                 <button name="do_reopen" states="done,cancelled" string="Re-open" type="object"/>
240                                 <button name="do_pending" states="open" string="Set Pending" type="object"/>
241                                 <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action"/>
242                                 <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/>
243                                 <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
244
245                             </group>
246                         </page>
247                         <page groups="base.group_extended" string="Delegations">
248                             <field colspan="4" name="history" nolabel="1"/>
249                             <field colspan="4" height="150" name="child_ids" nolabel="1">
250                                 <tree string="Delegated tasks">
251                                     <field name="name"/>
252                                     <field name="user_id"/>
253                                     <field name="date_deadline"/>
254                                     <field name="planned_hours" widget="float_time"/>
255                                     <field name="effective_hours" widget="float_time"/>
256                                     <field name="state"/>
257                                 </tree>
258                             </field>
259                             <field colspan="4" name="parent_id"/>
260                         </page>
261                         <page groups="base.group_extended" string="Extra Info">
262                             <separator string="Planning" colspan="2"/>
263                             <separator string="Dates" colspan="2"/>
264                             <field name="priority"/>
265                             <field name="date_start" select="2"/>
266                             <field name="sequence"/>
267                             <field name="date_close" select="2"/>
268
269                             <field name="type"/>
270                             <field name="active" select="2"/>
271                             <field name="partner_id" select="2"/>
272                             <separator colspan="4" string="Notes"/>
273                             <field colspan="4" name="notes" nolabel="1"/>
274                         </page>
275                     </notebook>
276                 </form>
277             </field>
278         </record>
279         <record id="view_task_tree2" model="ir.ui.view">
280             <field name="name">project.task.tree</field>
281             <field name="model">project.task</field>
282             <field name="type">tree</field>
283             <field eval="2" name="priority"/>
284             <field name="arch" type="xml">
285                 <tree colors="grey:state in ('cancel','done');blue:remaining_hours&lt;0;red:bool(date_deadline) &amp; (date_deadline&lt;current_date) &amp; (state in ('draft','open'))" string="Tasks">
286                     <field name="sequence"/>
287                     <field name="name"/>
288                     <field name="project_id"/>
289                     <field name="user_id"/>
290                     <field name="date_deadline"/>
291                     <field name="planned_hours" sum="Planned" widget="float_time"/>
292                     <field name="delay_hours" sum="Delay" widget="float_time"/>
293                     <field name="progress" widget="progressbar"/>
294                     <field name="priority"/>
295                     <field name="state"/>
296                     <field name="remaining_hours" invisible="1"/>
297                 </tree>
298             </field>
299         </record>
300
301         <record id="view_task_calendar" model="ir.ui.view">
302             <field name="name">project.task.calendar</field>
303             <field name="model">project.task</field>
304             <field name="type">calendar</field>
305             <field eval="2" name="priority"/>
306             <field name="arch" type="xml">
307                 <calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
308                     <field name="name"/>
309                     <field name="project_id"/>
310                 </calendar>
311             </field>
312         </record>
313                 <record model="ir.ui.view" id="view_project_task_graph">
314                         <field name="name">project.task.graph</field>
315                         <field name="model">project.task</field>
316                         <field name="type">graph</field>
317                         <field name="arch" type="xml">
318                                 <graph string="Project Tasks" type="bar">
319                                         <field name="project_id"/>
320                                         <field name="planned_hours" operator="+"/>
321                                         <field name="delay_hours" operator="+"/>
322                                 </graph>
323                         </field>
324                 </record>
325
326         <record id="action_view_task" model="ir.actions.act_window">
327             <field name="name">All Tasks</field>
328             <field name="res_model">project.task</field>
329             <field name="view_type">form</field>
330             <field name="view_mode">tree,form,calendar,graph</field>
331             <field eval="False" name="view_id"/>
332         </record>
333         <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_main"/>
334
335         <record id="action_view_task4" model="ir.actions.act_window">
336             <field name="name">My Tasks</field>
337             <field name="res_model">project.task</field>
338             <field name="view_type">form</field>
339             <field name="view_mode">tree,form,calendar,graph</field>
340             <field name="domain">[('user_id', '=', uid)]</field>
341         </record>
342         <menuitem action="action_view_task4" id="menu_action_view_task4" parent="project.menu_main"/>
343
344         <record id="action_view_task5_pending" model="ir.actions.act_window">
345             <field name="name">My Pending Tasks</field>
346             <field name="res_model">project.task</field>
347             <field name="view_type">form</field>
348             <field name="view_mode">tree,form,calendar,graph</field>
349             <field name="domain">[('user_id', '=', uid),('state','=','pending')]</field>
350         </record>
351         <menuitem action="action_view_task5_pending" id="menu_tasks_yours_pending" parent="menu_action_view_task4"/>
352
353         <record id="action_view_task5" model="ir.actions.act_window">
354             <field name="name">My Open Tasks</field>
355             <field name="res_model">project.task</field>
356             <field name="view_type">form</field>
357             <field name="view_mode">tree,form,calendar,graph</field>
358             <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
359         </record>
360         <menuitem action="action_view_task5" id="menu_tasks_yours" parent="menu_action_view_task4"/>
361
362         <record id="action_view_task5_prog" model="ir.actions.act_window">
363             <field name="name">My Tasks in Progress</field>
364             <field name="res_model">project.task</field>
365             <field name="view_type">form</field>
366             <field name="view_mode">tree,form,calendar,graph</field>
367             <field name="domain">[('user_id', '=', uid),('state','=','open')]</field>
368         </record>
369         <menuitem action="action_view_task5_prog" id="menu_tasks_yours_prog" parent="menu_action_view_task4"/>
370
371         <record id="action_view_task_new" model="ir.actions.act_window">
372             <field name="name">New Task</field>
373             <field name="res_model">project.task</field>
374             <field name="view_type">form</field>
375             <field name="view_mode">form,tree,calendar,graph</field>
376         </record>
377         <menuitem action="action_view_task_new" id="menu_action_view_task_new" parent="menu_action_view_task4"/>
378
379         <record id="action_view_task6" model="ir.actions.act_window">
380             <field name="name">Open Tasks</field>
381             <field name="res_model">project.task</field>
382             <field name="view_type">form</field>
383             <field name="view_mode">tree,form,calendar,graph</field>
384             <field name="domain">[('state', '=', 'open')]</field>
385         </record>
386         <menuitem action="action_view_task6" id="menu_action_view_task6" parent="project.menu_action_view_task"/>
387
388         <record id="action_view_task6_prog" model="ir.actions.act_window">
389             <field name="name">Tasks in Progress</field>
390             <field name="res_model">project.task</field>
391             <field name="view_type">form</field>
392             <field name="view_mode">tree,form,calendar,graph</field>
393             <field name="domain">[('state', '=', 'progress')]</field>
394         </record>
395         <menuitem action="action_view_task6_prog" id="menu_action_view_task6_prog" parent="project.menu_action_view_task"/>
396
397         <record id="action_view_task7" model="ir.actions.act_window">
398             <field name="name">Unassigned Tasks</field>
399             <field name="res_model">project.task</field>
400             <field name="view_type">form</field>
401             <field name="view_mode">tree,form,calendar,graph</field>
402             <field name="domain">[('user_id', '=', False)]</field>
403         </record>
404         <menuitem action="action_view_task7" id="menu_action_view_task7" parent="project.menu_action_view_task"/>
405
406         <!-- Opening task when double clicking on project -->
407         <record id="dblc_proj" model="ir.actions.act_window">
408             <field name="res_model">project.task</field>
409             <field name="name">Project's tasks</field>
410             <field name="view_type">form</field>
411             <field name="view_mode">tree,form,calendar,graph</field>
412             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
413         </record>
414         <record id="ir_project_task_open" model="ir.values">
415             <field eval=" 'tree_but_open'" name="key2"/>
416             <field eval="'project.project'" name="model"/>
417             <field name="name">View project's tasks</field>
418             <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
419             <field eval="True" name="object"/>
420         </record>
421
422         <!-- Task types -->
423         <record id="task_type_edit" model="ir.ui.view">
424             <field name="name">project.task.type.form</field>
425             <field name="model">project.task.type</field>
426             <field name="type">form</field>
427             <field name="arch" type="xml">
428                 <form string="Task type">
429                     <field colspan="4" name="name" select="1"/>
430                     <field colspan="4" name="description" select="1"/>
431                 </form>
432             </field>
433         </record>
434         <record id="task_type_tree" model="ir.ui.view">
435             <field name="name">project.task.type.tree</field>
436             <field name="model">project.task.type</field>
437             <field name="type">tree</field>
438             <field name="arch" type="xml">
439                 <tree string="Task type">
440                     <field name="name"/>
441                 </tree>
442             </field>
443         </record>
444         <record id="open_task_type_form" model="ir.actions.act_window">
445             <field name="name">Task Types</field>
446             <field name="res_model">project.task.type</field>
447             <field name="view_type">form</field>
448             <field name="view_id" ref="task_type_tree"/>
449         </record>
450         <menuitem action="open_task_type_form" id="menu_task_types" parent="project.menu_definitions"/>
451
452         <act_window domain="[('manager', '=', active_id)]" id="act_res_users_2_project_project" name="User's projects" res_model="project.project" src_model="res.users" view_mode="tree,form" view_type="form"/>
453
454         <act_window
455             domain="[('project_id', '=', active_id)]"
456             id="act_project_project_2_project_task_all"
457             name="All Tasks"
458             res_model="project.task"
459             src_model="project.project"
460             view_mode="tree,form,calendar,graph"
461             view_type="form"/>
462
463          <act_window
464             domain="[('project_id', '=', active_id),('state', '&lt;&gt;', 'cancelled'),('state', '&lt;&gt;', 'done')]"
465             id="act_project_project_2_project_task_opened"
466             name="Open Tasks"
467             res_model="project.task"
468             src_model="project.project"
469             view_mode="tree,form,calendar,graph"
470             view_type="form"/>
471
472         <act_window id="act_project_project_2_project_task_all" name="All tasks" res_model="project.task" src_model="project.project" view_mode="tree,form" view_type="form"/>
473
474         <record id="task_company" model="ir.ui.view">
475             <field name="name">res.company.task.config</field>
476             <field name="model">res.company</field>
477             <field name="type">form</field>
478             <field name="inherit_id" ref="base.view_company_form"/>
479             <field name="arch" type="xml">
480                 <page string="Configuration" position="inside">
481                     <separator string="Project Management" colspan="4"/>
482                     <field name="project_time_mode"/>
483                     <newline/>
484                 </page>
485             </field>
486         </record>
487
488         <act_window domain="[('user_id', '=', active_id),('state', '&lt;&gt;', 'cancelled'),('state', '&lt;&gt;', 'done')]" id="act_res_users_2_project_task_opened" name="Assigned tasks" res_model="project.task" src_model="res.users" view_mode="tree,form" view_type="form"/>
489
490         <act_window domain="[('user_id', '=', active_id),('date', '&gt;=', time.strftime('%Y-%m-01'))]" id="act_res_users_2_project_task_work_month" name="Month works" res_model="project.task.work" src_model="res.users" view_mode="tree,form" view_type="form"/>
491
492     </data>
493 </terp>