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