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