1 <?xml version="1.0" encoding="utf-8"?>
5 <menuitem id="menu_scrum"
7 parent="base.menu_main_pm" sequence="7"/>
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"/>
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"/>
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"/>
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"/>
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"/>
70 <div class="oe_clear"/>
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"/>
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"/>
92 <separator string="Feature Description" colspan="4"/>
93 <field colspan="4" name="note" nolabel="1"/>
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<0;red:bool(date_deadline) and (date_deadline<current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks">
98 <field name="sequence" invisible="0"/>
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"
113 icon="gtk-go-forward"
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"/>
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">
141 domain="['|','&',('sprint_id.date_start','<=',time.strftime('%%Y-%%m-%%d')), ('sprint_id.date_stop','>=',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"/>
149 <field name="project_id"/>
150 <field name="sprint_id" domain="[('state','in',('draft','open'))]">
151 <filter icon="terp-check"
153 domain="[('sprint_id.state','=','open')]"
154 help="Backlogs Assigned To Current Sprints"/>
155 <filter icon="terp-personal-"
157 domain="[('sprint_id','=',False)]"
158 help="Backlogs Not Assigned To Sprints."/>
160 <field name="user_id">
161 <filter icon="terp-personal"
164 domain="[('user_id','=',uid)]"
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'}"/>
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>
190 action="action_product_backlog_form"
191 id="menu_action_product_backlog_form"
193 parent="menu_scrum"/>
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">
206 <field name="project_id"/>
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">
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"/>
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"/>
251 <div class="oe_clear"/>
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)"/>
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"/>
265 <group colspan="2" col="2">
266 <separator string="Dates" colspan="2"/>
267 <field name="date_start" select="1"/>
268 <field name="date_stop"/>
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"/>
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">
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"/>
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=""/>
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"/>
300 <page string="Links">
301 <separator colspan="4" string="Tasks"/>
302 <field colspan="4" name="task_ids" nolabel="1" domain="[('sprint_id','=',sprint_id)]"/>
306 <tree string="Scrum Meeting">
308 <field name="user_id"/>
312 <page string="Review">
313 <field colspan="4" name="review" nolabel="1"/>
315 <page string="Retrospective">
316 <field colspan="4" name="retrospective" nolabel="1"/>
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">
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"/>
336 <field name="project_id"/>
337 <field name="scrum_master_id"/>
338 <field name="date_start"/>
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"/>
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>
367 action="action_sprint_all_tree" id="menu_action_sprint_all_tree" parent="menu_scrum"/>
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"/>
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">
391 <field name="sprint_id"/>
392 <field name="user_id"/>
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">
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"
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=""/>
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"/>
424 <page string="Links">
425 <separator colspan="4" string="Tasks"/>
426 <field colspan="4" name="task_ids" nolabel="1" domain="[('sprint_id','=',sprint_id)]"/>
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">
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"/>
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"/>
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>
466 <menuitem sequence="30"
467 action="action_meeting_form" id="menu_action_meeting_form" parent="menu_scrum"/>
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>
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"/>
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>
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"/>
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>
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"/>
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>
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"/>
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"/>
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"/>
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"/>
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"/>
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'}"/>
605 context="{'search_default_sprint_id': [active_id], 'default_sprint_id': active_id}"
606 id="act_scrum_sprint_2_product_backlog"
608 res_model="project.scrum.product.backlog"
609 src_model="project.scrum.sprint"
610 view_mode="tree,form"
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"
617 res_model="project.task"
618 src_model="project.scrum.sprint"
619 view_mode="tree,form"