[FIX] I have improve the error message in procurement
[odoo/odoo.git] / addons / project_scrum / project_scrum_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <menuitem id="menu_scrum"
6             name="Scrum"
7             parent="base.menu_main_pm" sequence="7"/>
8
9         <!-- Scrum Project -->
10
11         <record id="view_project_project_form" model="ir.ui.view">
12             <field name="name">project.project.form</field>
13             <field name="model">project.project</field>
14             <field name="type">form</field>
15             <field name="inherit_id" ref="project.edit_project"/>
16             <field name="arch" type="xml">
17                 <group name="misc" position="after">
18                     <group col="2" colspan="2">
19                         <separator string="Scrum Data" colspan="4"/>
20                         <field name="product_owner_id" required="1" select="1"/>
21                         <field name="sprint_size"/>
22                     </group>
23                 </group>
24             </field>
25         </record>
26
27         <!--
28        Product backlog
29        -->
30
31         <record id="view_scrum_product_backlog_tree" model="ir.ui.view">
32             <field name="name">project.scrum.product.backlog.tree</field>
33             <field name="model">project.scrum.product.backlog</field>
34             <field name="type">tree</field>
35             <field name="arch" type="xml">
36                 <tree colors="grey:state in ('cancel','done');blue:state == 'pending'" string="Product Backlog">
37                     <field name="sequence"/>
38                     <field name="name"/>
39                     <field name="project_id"/>
40                     <field name="sprint_id"/>
41                     <field name="user_id"/>
42                     <field name="progress" widget="progressbar"/>
43                     <field name="expected_hours" sum="Planned hours" widget="float_time" string="Total Planned Hours"/>
44                     <field name="effective_hours" sum="Spent hours" widget="float_time" string="Total Spent Hours"/>
45                     <field name="state"/>
46                     <button type="object" string="Open" name="button_open" states="draft,pending" icon="terp-camera_test"/>
47                     <button type="object" string="Pending" name="button_pending" states="open" icon="gtk-media-pause"/>
48                     <button type="action" string="Convert to Task" name="%(action_scrum_backlog_to_task)d" states="pending" icon="terp-stock_effects-object-colorize"/>
49                     <button type="object" string="Close" name="button_close" states="open,pending" icon="terp-dialog-close"/>
50                 </tree>
51             </field>
52         </record>
53
54         <record id="view_scrum_product_backlog_form" model="ir.ui.view">
55             <field name="name">project.scrum.product.backlog.form</field>
56             <field name="model">project.scrum.product.backlog</field>
57             <field name="type">form</field>
58             <field name="arch" type="xml">
59                 <form layout="manual">
60                 <div class="oe_form_topbar">
61                     <button type="object" string="Open" name="button_open" states="draft,pending"/>
62                     <button type="object" string="Close" name="button_close" states="open,pending"/>
63                     <button type="object" string="Pending" name="button_pending" states="open"/>
64                     <button type="action" string="Convert to Task" name="%(action_scrum_backlog_to_task)d" states="pending"/>
65                     <button type="object" string="Set to Draft" name="button_draft" states="cancel,done"/>
66                     <button type="object" string="Cancel" name="button_cancel" states="draft,open,pending"/>
67                     <div class="oe_right">
68                         <field name="state" select="1" widget="statusbar" nolabel="1" statusbar_visible="draft,open"/>
69                     </div>
70                     <div class="oe_clear"/>
71                 </div>
72                 <sheet string="Product backlog" layout="auto">
73                     <group colspan="4" col="8" class="oe_form_header">
74                         <field name="name" select="1"/>
75                         <field name="project_id" select="1"/>
76                         <field domain="[('project_id','=',project_id), ('state','in', ['draft','open'])]" name="sprint_id" select="1"/>
77                         <button name="%(action_postpone_wizard)d" string="Postpone" type="action"
78                             help="Postpone backlog" colspan="2"
79                          icon="gtk-convert"  attrs="{'invisible':[('state','in',['done', 'cancel'])]}"/>
80                         <field name="user_id" select="1"/>
81                         <field name="sequence"/>
82                         <field name="create_date"/>
83                         <field name="progress" widget="progressbar"/>
84                     </group>
85                     <notebook colspan="4">
86                         <page string="Information">
87                             <group colspan="6" col="8">
88                                 <field name="expected_hours" widget="float_time"/>
89                                 <field name="effective_hours" widget="float_time"/>
90                                 <field name="task_hours" widget="float_time"/>
91                             </group>
92                             <separator string="Feature Description" colspan="4"/>
93                             <field colspan="4" name="note" nolabel="1"/>
94                         </page>
95                         <page string="Tasks">
96                             <field colspan="4" name="tasks_id" nolabel="1" widget="one2many_list" context="{'default_project_id':project_id, 'default_sprint_id':sprint_id, 'default_product_backlog_id':active_id}">
97                                 <tree colors="grey:state in ('cancelled','done');blue:remaining_hours&lt;0;red:bool(date_deadline) and (date_deadline&lt;current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks">
98                                         <field name="sequence" invisible="0"/>
99                                         <field name="name"/>
100                                         <field name="user_id"/>
101                                         <field name="delegated_user_id" invisible="context.get('show_delegated', True)"/>
102                                         <field name="planned_hours" widget="float_time" sum="Planned Hours"/>
103                                         <field name="total_hours" widget="float_time"/>
104                                         <field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/>
105                                         <field name="date_deadline" invisible="context.get('set_visible',False)"/>
106                                         <field name="type_id" invisible="context.get('set_visible',False)"/>
107                                         <field name="date_start" invisible="1"/>
108                                         <field name="date_end" invisible="1"/>
109                                         <button name="next_type" invisible="context.get('set_visible',False)"
110                                             states="draft,open,pending"
111                                             string="Change Stage"
112                                             type="object"
113                                             icon="gtk-go-forward"
114                                             help="Change Type"/>
115                                         <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
116                                         <field name="state" invisible="context.get('set_visible',False)"/>
117                                         <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-stop" help="For cancelling the task"/>
118                                         <button name="do_open" states="pending,draft,done,cancel" string="Start Task" type="object" icon="terp-camera_test" help="For changing to open state" invisible="context.get('set_visible',False)"/>
119                                         <button name="%(project.action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/>
120                                         <button name="do_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
121                                 </tree>
122                             </field>
123                         </page>
124                     </notebook>
125                     </sheet>
126                 </form>
127             </field>
128         </record>
129
130         <record model="ir.ui.view" id="view_scrum_product_backlog_search">
131             <field name="name">project.scrum.product.backlog.search</field>
132             <field name="model">project.scrum.product.backlog</field>
133             <field name="type">search</field>
134             <field name="arch" type="xml">
135                 <search string="Product Backlogs">
136                     <group>
137                         <filter
138                             icon="terp-check"
139                             string="Draft"
140                             name="current"
141                             domain="['|','&amp;',('sprint_id.date_start','&lt;=',time.strftime('%%Y-%%m-%%d')), ('sprint_id.date_stop','&gt;=',time.strftime('%%Y-%%m-%%d')), ('state','=','draft')]"
142                             help="Draft Backlogs"/>
143                         <filter icon="terp-camera_test" string="In Progress" domain="[('state','=','open')]" help="In Progress Backlogs"/>
144                         <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Backlogs"/>
145                         <separator orientation="vertical"/>
146                         <filter string="Edit" icon="gtk-execute" domain="[]" context="{'set_editable':'1'}"/>
147                         <separator orientation="vertical"/>
148                         <field name="name"/>
149                         <field name="project_id"/>
150                         <field name="sprint_id" domain="[('state','in',('draft','open'))]">
151                             <filter icon="terp-check"
152                                 string="Sprints"
153                                 domain="[('sprint_id.state','=','open')]"
154                                 help="Backlogs Assigned To Current Sprints"/>
155                             <filter icon="terp-personal-"
156                                 string="Sprints"
157                                 domain="[('sprint_id','=',False)]"
158                                 help="Backlogs Not Assigned To Sprints."/>
159                         </field>
160                         <field name="user_id">
161                             <filter icon="terp-personal"
162                                 string="My Backlogs"
163                                 name="my_user_id"
164                                 domain="[('user_id','=',uid)]"
165                                 help="My Backlogs"/>
166                         </field>
167                     </group>
168                     <newline/>
169                     <group expand="0" string="Group By...">
170                         <filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
171                         <separator orientation="vertical"/>
172                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
173                         <filter string="Sprint" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'sprint_id'}"/>
174                         <separator orientation="vertical"/>
175                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
176                     </group>
177                 </search>
178             </field>
179         </record>
180
181         <record id="action_product_backlog_form" model="ir.actions.act_window">
182             <field name="name">Product Backlogs</field>
183             <field name="res_model">project.scrum.product.backlog</field>
184             <field name="view_type">form</field>
185             <field name="context">{'search_default_user_id':uid,'search_default_project_id':project_id}</field>
186             <field name="search_view_id" ref="view_scrum_product_backlog_search"/>
187             <field name="help">The scrum agile methodology is used in software development projects. The Product Backlog is the list of features to be implemented. A product backlog can be planified in a development sprint and may be split into several tasks. The product backlog is managed by the product owner of the project.</field>
188         </record>
189         <menuitem
190             action="action_product_backlog_form"
191             id="menu_action_product_backlog_form"
192             sequence="10"
193             parent="menu_scrum"/>
194
195         <!--
196               Scrum Sprint
197        -->
198
199         <record id="view_scrum_sprint_calendar" model="ir.ui.view">
200             <field name="name">project.scrum.sprint.calendar</field>
201             <field name="model">project.scrum.sprint</field>
202             <field name="type">calendar</field>
203             <field name="arch" type="xml">
204                 <calendar string="Scrum Sprint" date_start="date_start">
205                     <field name="name"/>
206                     <field name="project_id"/>
207                 </calendar>
208             </field>
209         </record>
210
211         <record id="view_scrum_sprint_tree" model="ir.ui.view">
212             <field name="name">project.scrum.sprint.tree</field>
213             <field name="model">project.scrum.sprint</field>
214             <field name="type">tree</field>
215             <field name="arch" type="xml">
216                 <tree colors="blue:state in ('draft','pending');grey:state in ('cancel','done')" string="Scrum Sprint">
217                     <field name="name"/>
218                     <field name="project_id"/>
219                     <field name="scrum_master_id"/>
220                     <field name="product_owner_id" invisible="1"/>
221                     <field name="date_start"/>
222                     <field name="progress" widget="progressbar"/>
223                     <field name="effective_hours" sum="Effective hours" widget="float_time"/>
224                     <field name="expected_hours" sum="Planned hours" widget="float_time"/>
225                     <field name="state"/>
226                     <button type="object" string="Open" name="button_open" states="draft,pending" icon="terp-camera_test"/>
227                     <button type="object" string="Pending" name="button_pending" states="open" icon="gtk-media-pause"/>
228                     <button type="object" string="Close" name="button_close" states="open,pending" icon="terp-dialog-close"/>
229                     <button type="object" string="Set to Draft" name="button_draft" states="cancel,done" icon="gtk-convert"/>
230                     <button name="%(project_scrum.report_scrum_sprint_burndown_chart)d" states="open,draft,close,cancel"
231                                     string="Burndown Chart" type="action" icon="gtk-print"/>
232                 </tree>
233             </field>
234         </record>
235         <record id="view_scrum_sprint_form" model="ir.ui.view">
236             <field name="name">project.scrum.sprint.form</field>
237             <field name="model">project.scrum.sprint</field>
238             <field name="type">form</field>
239             <field name="arch" type="xml">
240                 <form layout="manual">
241                 <div class="oe_form_topbar">
242                     <button type="object" string="Open" name="button_open" states="draft,pending"/>
243                     <button type="object" string="Close" name="button_close" states="open,pending"/>
244                     <button type="object" string="Pending" name="button_pending" states="open"/>
245                     <button name="%(project_scrum.report_scrum_sprint_burndown_chart)d"
246                                    string="Burndown Chart" type="action"/>
247                     <button type="object" string="Set to Draft" name="button_draft" states="cancel,done"/>
248                     <div class="oe_right">
249                         <field name="state" readonly="1" widget="statusbar" nolabel="1" statusbar_visible="draft,open"/>
250                     </div>
251                     <div class="oe_clear"/>
252                 </div>
253                 <sheet string="Scrum Sprint" layout="auto">
254                     <group colspan="4" col="6" class="oe_form_header">
255                         <field name="name" select="1"/>
256                         <field name="project_id" on_change="onchange_project_id(project_id)"/>
257                     </group>
258                     <notebook colspan="4">
259                         <page string="Sprint Info">
260                             <group colspan="2" col="2">
261                                 <separator string="Responsible" colspan="2"/>
262                                 <field name="product_owner_id"/>
263                                 <field name="scrum_master_id"/>
264                             </group>
265                             <group colspan="2" col="2">
266                                 <separator string="Dates" colspan="2"/>
267                                 <field name="date_start" select="1"/>
268                                 <field name="date_stop"/>
269                             </group>
270                             <group colspan="2" col="2">
271                                 <separator string="Planning" colspan="2"/>
272                                 <field name="expected_hours" widget="float_time"/>
273                                 <field name="effective_hours" widget="float_time"/>
274                                 <field name="progress" widget="progressbar"/>
275                             </group>
276                         </page>
277                         <page string="Daily Meetings">
278                             <field colspan="4" name="meeting_ids" nolabel="1" widget="one2many_list">
279                                 <form string="Scrum Sprint">
280                                     <group colspan="4" col="6">
281                                             <field name="date"/>
282                                             <field name="user_id"/>
283                                             <button name="%(mail.action_email_compose_message_wizard)d"
284                                                 string="Send Email" type="action" icon="terp-mail-message-new"/>
285                                     </group>
286                                     <notebook colspan="4">
287                                         <page string="Scrum Meeting">
288                                             <separator colspan="4" string="What did you do since the last meeting?"/>
289                                             <field colspan="4" name="question_yesterday" nolabel="1"/>
290                                             <separator colspan="4" string="What do you plan to do till the next meeting?"/>
291                                             <field colspan="4" name="question_today" nolabel="1"/>
292                                             <separator colspan="4" string="Are there anything blocking you?"/>
293                                             <field colspan="4" name="question_blocks" nolabel="1"/>
294                                             <separator colspan="4" string=""/>
295                                         </page>
296                                         <page string="Optional Info">
297                                             <separator colspan="4" string="Are your sprint backlog estimate accurate ?"/>
298                                             <field colspan="4" name="question_backlog" nolabel="1"/>
299                                         </page>
300                                         <page string="Links">
301                                             <separator colspan="4" string="Tasks"/>
302                                             <field colspan="4" name="task_ids" nolabel="1" domain="[('sprint_id','=',sprint_id)]"/>
303                                         </page>
304                                 </notebook>
305                             </form>
306                             <tree string="Scrum Meeting">
307                                 <field name="date"/>
308                                 <field name="user_id"/>
309                             </tree>
310                             </field>
311                         </page>
312                         <page string="Review">
313                             <field colspan="4" name="review" nolabel="1"/>
314                         </page>
315                         <page string="Retrospective">
316                             <field colspan="4" name="retrospective" nolabel="1"/>
317                         </page>
318                     </notebook>
319                     </sheet>
320                 </form>
321             </field>
322         </record>
323
324         <record model="ir.ui.view" id="view_scrum_sprint_search">
325             <field name="name">project.scrum.sprint.search</field>
326             <field name="model">project.scrum.sprint</field>
327             <field name="type">search</field>
328             <field name="arch" type="xml">
329                 <search string="Sprints">
330                     <group>
331                         <filter icon="terp-check" string="New" name="current" domain="[('state','=','draft')]" help="New Sprints"/>
332                         <filter icon="terp-camera_test" string="In Progress" domain="[('state','=','open')]" help="In Progress Sprints"/>
333                         <filter icon="gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Sprints"/>
334                         <separator orientation="vertical"/>
335                         <field name="name"/>
336                         <field name="project_id"/>
337                         <field name="scrum_master_id"/>
338                         <field name="date_start"/>
339                     </group>
340                     <newline/>
341                     <group expand="0" string="Group By...">
342                         <filter string="Product owner" icon="terp-personal" domain="[]" context="{'group_by':'product_owner_id'}"/>
343                         <filter string="Scrum Master" icon="terp-personal" domain="[]"  context="{'group_by':'scrum_master_id'}"/>
344                         <separator orientation="vertical"/>
345                         <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
346                         <separator orientation="vertical"/>
347                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
348                         <separator orientation="vertical"/>
349                         <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Sprint Month"/>
350                     </group>
351                 </search>
352             </field>
353         </record>
354
355         <record id="action_sprint_all_tree" model="ir.actions.act_window">
356             <field name="name">Sprints</field>
357             <field name="res_model">project.scrum.sprint</field>
358             <field name="view_type">form</field>
359             <field name="view_mode">tree,form,calendar</field>
360             <field name="view_id" ref="view_scrum_sprint_tree"/>
361             <field name="context">{}</field>
362             <field name="search_view_id" ref="view_scrum_sprint_search"/>
363             <field name="help">The scrum agile methodology is used in software development projects. In this methodology, a sprint is a short period of time (e.g. one month) during which the team implements a list of product backlogs. The sprint review is organized when the team presents its work to the customer and product owner.</field>
364         </record>
365         <menuitem
366             sequence="20"
367             action="action_sprint_all_tree" id="menu_action_sprint_all_tree" parent="menu_scrum"/>
368
369         <!--
370               Daily Meeting
371        -->
372
373         <record id="view_scrum_meeting_calendar" model="ir.ui.view">
374             <field name="name">project.scrum.meeting.calendar</field>
375             <field name="model">project.scrum.meeting</field>
376             <field name="type">calendar</field>
377             <field name="arch" type="xml">
378                 <calendar string="Scrum Meeting" date_start="date" color="user_id">
379                     <field name="sprint_id"/>
380                 </calendar>
381             </field>
382         </record>
383
384         <record id="view_scrum_meeting_tree" model="ir.ui.view">
385             <field name="name">project.scrum.meeting.tree</field>
386             <field name="model">project.scrum.meeting</field>
387             <field name="type">tree</field>
388             <field name="arch" type="xml">
389                 <tree string="Scrum Meeting">
390                     <field name="date"/>
391                     <field name="sprint_id"/>
392                     <field name="user_id"/>
393                 </tree>
394             </field>
395         </record>
396         <record id="view_scrum_meeting_form" model="ir.ui.view">
397             <field name="name">Scrum Meeting</field>
398             <field name="model">project.scrum.meeting</field>
399             <field name="type">form</field>
400             <field name="arch" type="xml">
401                 <form string="Scrum Meeting">
402                     <group colspan="4" col="8">
403                         <field name="date"/>
404                         <field name="sprint_id" domain="[('state', '=', 'open')]"/>
405                         <field name="user_id"/>
406                         <button name="%(mail.action_email_compose_message_wizard)d"
407                                 string="Send Email" type="action" icon="terp-mail-message-new"
408                         />
409                     </group>
410                     <notebook colspan="4">
411                         <page string="Scrum Meeting">
412                             <separator colspan="4" string="What did you do since the last meeting?"/>
413                             <field colspan="4" name="question_yesterday" nolabel="1"/>
414                             <separator colspan="4" string="What do you plan to do till the next meeting?"/>
415                             <field colspan="4" name="question_today" nolabel="1"/>
416                             <separator colspan="4" string="Are there anything blocking you?"/>
417                             <field colspan="4" name="question_blocks" nolabel="1"/>
418                             <separator colspan="4" string=""/>
419                         </page>
420                         <page string="Optional Info">
421                             <separator colspan="4" string="Are your sprint backlog estimate accurate?"/>
422                             <field colspan="4" name="question_backlog" nolabel="1"/>
423                         </page>
424                         <page string="Links">
425                             <separator colspan="4" string="Tasks"/>
426                             <field colspan="4" name="task_ids" nolabel="1" domain="[('sprint_id','=',sprint_id)]"/>
427                         </page>
428                     </notebook>
429                 </form>
430             </field>
431         </record>
432
433         <record id="view_scrum_meeting_search" model="ir.ui.view">
434             <field name="name">project_scrum.meeting.search</field>
435             <field name="model">project.scrum.meeting</field>
436             <field name="type">search</field>
437             <field name="arch" type="xml">
438                 <search string="Scrum Sprint">
439                     <group>
440                         <filter name="scrum_daily" icon="terp-go-today" string="Daily" domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]" help="Daily Meetings"/>
441                         <separator orientation="vertical"/>
442                         <field name="sprint_id">
443                             <filter icon="terp-check" domain="[('sprint_id.state','in',('draft','open'))]" help="Current Sprints"/>
444                         </field>
445                         <field name="date"/>
446                     </group>
447                     <newline/>
448                     <group expand="0" string="Group By...">
449                         <filter string="Sprint" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'sprint_id'}"/>
450                         <separator orientation="vertical"/>
451                         <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Meeting Date"/>
452                     </group>
453                 </search>
454             </field>
455         </record>
456
457         <record id="action_meeting_form" model="ir.actions.act_window">
458             <field name="name">Scrum Meetings</field>
459             <field name="res_model">project.scrum.meeting</field>
460             <field name="view_type">form</field>
461             <field name="view_mode">tree,form,calendar</field>
462             <field name="context">{'search_default_project_id':project_id}</field>
463             <field name="search_view_id" ref="view_scrum_meeting_search"/>
464             <field name="help">The scrum agile methodology is used in software development projects. In this methodology, a daily meeting is organized by the scrum master with his team in order to detect the difficulties the team faced/will face.</field>
465         </record>
466         <menuitem sequence="30"
467             action="action_meeting_form" id="menu_action_meeting_form" parent="menu_scrum"/>
468
469         <!--
470        Clicks on a sprint:
471        -->
472
473         <record id="action_sprint_task_open" model="ir.actions.act_window">
474             <field name="res_model">project.task</field>
475             <field name="name">View sprint Tasks</field>
476             <field name="view_type">form</field>
477             <field name="view_mode">tree,form</field>
478             <field name="domain">[('product_backlog_id', '=', active_id)]</field>
479             <field name="context">{'default_product_backlog_id': active_id}</field>
480         </record>
481         <record id="ir_scrum_sprint_open_task" model="ir.values">
482             <field eval=" 'tree_but_open'" name="key2"/>
483             <field eval="'project.scrum.sprint'" name="model"/>
484             <field name="name">View sprint tasks</field>
485             <field eval="'ir.actions.act_window,'+str(action_sprint_task_open)" name="value"/>
486         </record>
487
488         <record id="action_sprint_backlog_open" model="ir.actions.act_window">
489             <field name="res_model">project.scrum.product.backlog</field>
490             <field name="name">View sprint backlog</field>
491             <field name="view_type">form</field>
492             <field name="view_mode">tree,form</field>
493             <field name="domain">[('sprint_id', '=', active_id)]</field>
494             <field name="context">{'default_sprint_id': active_id}</field>
495         </record>
496         <record id="ir_scrum_sprint_open_sprint" model="ir.values">
497             <field eval=" 'tree_but_open'" name="key2"/>
498             <field eval="'project.scrum.sprint'" name="model"/>
499             <field name="name">View sprint backlog</field>
500             <field eval="'ir.actions.act_window,'+str(action_sprint_backlog_open)" name="value"/>
501         </record>
502
503         <!--
504        Clicks on a project
505        -->
506
507         <record id="dblc_proj" model="ir.actions.act_window">
508             <field name="res_model">project.scrum.product.backlog</field>
509             <field name="name">View project's backlog</field>
510             <field name="view_type">form</field>
511             <field name="view_mode">tree,form</field>
512             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
513         </record>
514         <record id="ir_scrum_project_backlog" model="ir.values">
515             <field eval=" 'tree_but_open'" name="key2"/>
516             <field eval="'project.scrum.project'" name="model"/>
517             <field name="name">View project's backlog</field>
518             <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
519         </record>
520         <record id="dblc_proj2" model="ir.actions.act_window">
521             <field name="res_model">project.task</field>
522             <field name="name">View project's tasks</field>
523             <field name="view_type">form</field>
524             <field name="view_mode">tree,form</field>
525             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
526         </record>
527         <record id="ir_scrum_project_task" model="ir.values">
528             <field eval=" 'tree_but_open'" name="key2"/>
529             <field eval="'project.scrum.project'" name="model"/>
530             <field name="name">View project's tasks</field>
531             <field eval="'ir.actions.act_window,'+str(dblc_proj2)" name="value"/>
532         </record>
533
534         <!--
535         Tasks
536         -->
537
538         <record id="view_task_tree2" model="ir.ui.view">
539             <field name="name">project.task.tree.scrum</field>
540             <field name="model">project.task</field>
541             <field name="type">tree</field>
542             <field name="inherit_id" ref="project.view_task_tree2"/>
543             <field name="arch" type="xml">
544                 <field name="user_id" position="after">
545                     <field name="sprint_id" domain="[('state', 'in', ['draft', 'open'])]" invisible="context.get('sprint_invisible',True)"/>
546                     <field name="product_backlog_id" invisible="1"/>
547                 </field>
548             </field>
549         </record>
550
551         <record id="view_task_form2" model="ir.ui.view">
552             <field name="name">project.task.scrum.form</field>
553             <field name="model">project.task</field>
554             <field name="type">form</field>
555             <field name="inherit_id" ref="project.view_task_form2"/>
556             <field name="arch" type="xml">
557                 <field name="progress" position="after">
558                     <field domain="[('project_id','=',project_id),]" name="product_backlog_id" select="1"/>
559                 </field>
560             </field>
561         </record>
562
563         <record id="view_task_form3" model="ir.ui.view">
564             <field name="name">project.task.scrum.form2</field>
565             <field name="model">project.task</field>
566             <field name="type">form</field>
567             <field name="inherit_id" ref="project.view_task_form2"/>
568             <field name="arch" type="xml">
569                 <field name="sequence" position="after">
570                     <field name="sprint_id" domain="[('state', 'in', ['draft', 'open'])]" readonly="1"/>
571                 </field>
572             </field>
573         </record>
574
575         <record id="view_task_search_form2" model="ir.ui.view">
576             <field name="name">project.task.scrum.search</field>
577             <field name="model">project.task</field>
578             <field name="type">search</field>
579             <field name="inherit_id" ref="project.view_task_search_form"/>
580             <field name="arch" type="xml">
581                 <field name="project_id" position="after">
582                     <field name="sprint_id" context="{'sprint_invisible':False}">
583                         <filter icon="terp-check" context="{'sprint_invisible':False}" domain="[('sprint_id.state','in',('draft','open'))]" help="Current Sprints"/>
584                         <filter icon="gtk-find" context="{'sprint_invisible':False}" domain="[]" help="View Sprints"/>
585                     </field>
586                 </field>
587             </field>
588         </record>
589
590         <record id="view_task_search_form3" model="ir.ui.view">
591             <field name="name">project.task.scrum.search</field>
592             <field name="model">project.task</field>
593             <field name="type">search</field>
594             <field name="inherit_id" ref="project.view_task_search_form"/>
595             <field name="arch" type="xml">
596                 <xpath expr="/search/group[@string='Group By...']/filter[@string='Project']" position="after">
597                     <separator orientation="vertical"/>
598                     <filter string="Sprint" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'sprint_id'}"/>
599                     <filter string="Backlog" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'product_backlog_id'}"/>
600                 </xpath>
601             </field>
602         </record>
603
604         <act_window
605             context="{'search_default_sprint_id': [active_id], 'default_sprint_id': active_id}"
606             id="act_scrum_sprint_2_product_backlog"
607             name="Backlogs"
608             res_model="project.scrum.product.backlog"
609             src_model="project.scrum.sprint"
610             view_mode="tree,form"
611             view_type="form"/>
612
613         <act_window
614             context="{'search_default_sprint_id': active_id, 'search_default_user_id': uid, 'search_default_current':1, 'default_sprint_id': active_id}"
615             id="act_scrum_sprint_2_project_task"
616             name="Tasks"
617             res_model="project.task"
618             src_model="project.scrum.sprint"
619             view_mode="tree,form"
620             view_type="form"/>
621
622
623     </data>
624 </openerp>