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 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"/>
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"/>
79 <separator string="Feature Description" colspan="4"/>
80 <field colspan="4" name="note" nolabel="1"/>
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<0;red:bool(date_deadline) and (date_deadline<current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks">
85 <field name="sequence" invisible="0"/>
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"
100 icon="gtk-go-forward"
101 groups="base.group_extended"
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"/>
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"/>
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">
137 domain="['|','&',('sprint_id.date_start','<=',time.strftime('%%Y-%%m-%%d')), ('sprint_id.date_stop','>=',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"/>
145 <field name="project_id"/>
146 <field name="sprint_id" domain="[('state','in',('draft','open'))]">
147 <filter icon="terp-check"
149 domain="[('sprint_id.state','=','open')]"
150 help="Backlogs Assigned To Current Sprints"/>
151 <filter icon="terp-personal-"
153 domain="[('sprint_id','=',False)]"
154 help="Backlogs Not Assigned To Sprints."/>
156 <field name="user_id">
157 <filter icon="terp-personal"
160 domain="[('user_id','=',uid)]"
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'}"/>
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_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>
186 action="action_product_backlog_form"
187 id="menu_action_product_backlog_form"
189 parent="menu_scrum"/>
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">
202 <field name="project_id"/>
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">
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"/>
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)"/>
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"/>
248 <group colspan="2" col="2">
249 <separator string="Dates" colspan="2"/>
250 <field name="date_start" select="1"/>
251 <field name="date_stop"/>
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"/>
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">
265 <field name="user_id"/>
266 <button name="%(mail.action_email_compose_message_wizard)d"
267 string="Send Email" type="action" icon="terp-mail-message-new"/>
269 <notebook colspan="4">
270 <page string="Scrum Meeting">
271 <separator colspan="4" string="What did you do since the last meeting?"/>
272 <field colspan="4" name="question_yesterday" nolabel="1"/>
273 <separator colspan="4" string="What do you plan to do till the next meeting?"/>
274 <field colspan="4" name="question_today" nolabel="1"/>
275 <separator colspan="4" string="Are there anything blocking you?"/>
276 <field colspan="4" name="question_blocks" nolabel="1"/>
277 <separator colspan="4" string=""/>
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"/>
283 <page string="Links">
284 <separator colspan="4" string="Tasks"/>
285 <field colspan="4" name="task_ids" nolabel="1" domain="[('sprint_id','=',sprint_id)]"/>
289 <tree string="Scrum Meeting">
291 <field name="user_id"/>
295 <page string="Review">
296 <field colspan="4" name="review" nolabel="1"/>
298 <page string="Retrospective">
299 <field colspan="4" name="retrospective" nolabel="1"/>
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"/>
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">
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"/>
327 <field name="project_id"/>
328 <field name="scrum_master_id"/>
329 <field name="date_start"/>
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"/>
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">{}</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>
358 action="action_sprint_all_tree" id="menu_action_sprint_all_tree" parent="menu_scrum"/>
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"/>
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">
382 <field name="sprint_id"/>
383 <field name="user_id"/>
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">
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"
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=""/>
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"/>
415 <page string="Links">
416 <separator colspan="4" string="Tasks"/>
417 <field colspan="4" name="task_ids" nolabel="1" domain="[('sprint_id','=',sprint_id)]"/>
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">
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" domain="[('sprint_id.state','in',('draft','open'))]" help="Current Sprints"/>
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"/>
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_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>
457 <menuitem sequence="30"
458 action="action_meeting_form" id="menu_action_meeting_form" parent="menu_scrum"/>
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 <field name="context">{'default_product_backlog_id': active_id}</field>
472 <record id="ir_scrum_sprint_open_task" model="ir.values">
473 <field eval=" 'tree_but_open'" name="key2"/>
474 <field eval="'project.scrum.sprint'" name="model"/>
475 <field name="name">View sprint tasks</field>
476 <field eval="'ir.actions.act_window,'+str(action_sprint_task_open)" name="value"/>
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 <field name="context">{'default_sprint_id': active_id}</field>
487 <record id="ir_scrum_sprint_open_sprint" model="ir.values">
488 <field eval=" 'tree_but_open'" name="key2"/>
489 <field eval="'project.scrum.sprint'" name="model"/>
490 <field name="name">View sprint backlog</field>
491 <field eval="'ir.actions.act_window,'+str(action_sprint_backlog_open)" name="value"/>
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>
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"/>
511 <record id="dblc_proj2" model="ir.actions.act_window">
512 <field name="res_model">project.task</field>
513 <field name="name">View project's tasks</field>
514 <field name="view_type">form</field>
515 <field name="view_mode">tree,form</field>
516 <field name="domain">[('project_id', 'child_of', [active_id])]</field>
518 <record id="ir_scrum_project_task" model="ir.values">
519 <field eval=" 'tree_but_open'" name="key2"/>
520 <field eval="'project.scrum.project'" name="model"/>
521 <field name="name">View project's tasks</field>
522 <field eval="'ir.actions.act_window,'+str(dblc_proj2)" name="value"/>
529 <record id="view_task_tree2" model="ir.ui.view">
530 <field name="name">project.task.tree.scrum</field>
531 <field name="model">project.task</field>
532 <field name="type">tree</field>
533 <field name="inherit_id" ref="project.view_task_tree2"/>
534 <field name="arch" type="xml">
535 <field name="user_id" position="after">
536 <field name="sprint_id" domain="[('state', 'in', ['draft', 'open'])]" invisible="context.get('sprint_invisible',True)"/>
537 <field name="product_backlog_id" invisible="1"/>
542 <record id="view_task_form2" model="ir.ui.view">
543 <field name="name">project.task.scrum.form</field>
544 <field name="model">project.task</field>
545 <field name="type">form</field>
546 <field name="inherit_id" ref="project.view_task_form2"/>
547 <field name="arch" type="xml">
548 <xpath expr="/form/group/field[@name='progress']" position="after">
549 <field domain="[('project_id','=',project_id),]" name="product_backlog_id" select="1"/>
554 <record id="view_task_form3" model="ir.ui.view">
555 <field name="name">project.task.scrum.form2</field>
556 <field name="model">project.task</field>
557 <field name="type">form</field>
558 <field name="inherit_id" ref="project.view_task_form2"/>
559 <field name="arch" type="xml">
560 <xpath expr="/form/notebook/page[@string='Extra Info']/group/field[@name='sequence']" position="after">
561 <field name="sprint_id" domain="[('state', 'in', ['draft', 'open'])]" readonly="1"/>
566 <record id="view_task_search_form2" model="ir.ui.view">
567 <field name="name">project.task.scrum.search</field>
568 <field name="model">project.task</field>
569 <field name="type">search</field>
570 <field name="inherit_id" ref="project.view_task_search_form"/>
571 <field name="arch" type="xml">
572 <field name="project_id" position="after">
573 <field name="sprint_id" context="{'sprint_invisible':False}">
574 <filter icon="terp-check" context="{'sprint_invisible':False}" domain="[('sprint_id.state','in',('draft','open'))]" help="Current Sprints"/>
575 <filter icon="gtk-find" context="{'sprint_invisible':False}" domain="[]" help="View Sprints"/>
581 <record id="view_task_search_form3" model="ir.ui.view">
582 <field name="name">project.task.scrum.search</field>
583 <field name="model">project.task</field>
584 <field name="type">search</field>
585 <field name="inherit_id" ref="project.view_task_search_form"/>
586 <field name="arch" type="xml">
587 <xpath expr="/search/group[@string='Group By...']/filter[@string='Project']" position="after">
588 <separator orientation="vertical"/>
589 <filter string="Sprint" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'sprint_id'}"/>
590 <filter string="Backlog" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'product_backlog_id'}"/>
596 context="{'search_default_sprint_id': [active_id], 'default_sprint_id': active_id}"
597 id="act_scrum_sprint_2_product_backlog"
599 res_model="project.scrum.product.backlog"
600 src_model="project.scrum.sprint"
601 view_mode="tree,form"
605 context="{'search_default_sprint_id': active_id, 'search_default_user_id': uid, 'search_default_current':1, 'default_sprint_id': active_id}"
606 id="act_scrum_sprint_2_project_task"
608 res_model="project.task"
609 src_model="project.scrum.sprint"
610 view_mode="tree,form"