[IMP] Scrum views
[odoo/odoo.git] / addons / scrum / 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"/>
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">scrum.product.backlog.tree</field>
33             <field name="model">scrum.product.backlog</field>
34             <field name="type">tree</field>
35             <field name="arch" type="xml">
36                 <tree string="Product Backlog">
37                     <field name="sequence" invisible="1"/>
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="effective_hours" sum="Effective hours" widget="float_time"/>
44                     <field name="planned_hours" sum="Planned hours" widget="float_time"/>
45                     <field name="state"/>
46                 </tree>
47             </field>
48         </record>
49
50         <record id="view_scrum_product_backlog_form" model="ir.ui.view">
51             <field name="name">scrum.product.backlog.form</field>
52             <field name="model">scrum.product.backlog</field>
53             <field name="type">form</field>
54             <field name="arch" type="xml">
55                 <form string="Product backlog">
56                     <group colspan="4" col="6">
57                         <field name="name" select="1"/>
58                         <field name="project_id" select="1"/>
59                         <field domain="[('project_id','=',project_id)]" name="sprint_id" select="1"/>
60                         <field name="user_id" select="1"/>
61                         <field name="sequence"/>
62                         <field name="active" select="1"/>
63                         <field name="effective_hours" widget="float_time"/>
64                         <field name="planned_hours" widget="float_time"/>
65                         <field name="progress" widget="progressbar"/>
66                     </group>
67                     <notebook colspan="4">
68                         <page string="Feature Description">
69                             <field colspan="4" name="note" nolabel="1"/>
70                         </page>
71                         <page string="Tasks">
72                             <field colspan="4" name="tasks_id" nolabel="1" widget="one2many_list"/>
73                         </page>
74                     </notebook>
75                     <group col="4" colspan="4">
76                         <field name="state" select="1"/>
77                     </group>
78                 </form>
79             </field>
80         </record>
81
82         <record model="ir.ui.view" id="view_scrum_product_backlog_search">
83             <field name="name">scrum.product.backlog.search</field>
84             <field name="model">scrum.product.backlog</field>
85             <field name="type">search</field>
86             <field name="arch" type="xml">
87                 <search string="Product Backlogs">
88                     <group col="10" colspan="4">
89                         <filter default="1"
90                             icon="terp-project"
91                             string="Current"
92                             domain="[('state','in',('open','draft'))]"
93                             help="Open and Draft Backlogs"/>
94                         <filter icon="terp-project" string="Draft" domain="[('state','=','draft')]" help="Draft Backlogs"/>
95                         <filter icon="terp-project" string="Open" domain="[('state','=','open')]" help="Open Backlogs"/>
96                         <separator orientation="vertical"/>
97                         <field name="name"/>
98                         <field name="project_id"
99                             widget="selection"
100                             default="context.get('project_id', False)"/>
101                         <field name="sprint_id"/>
102                         <field name="user_id">
103                             <filter default="1"
104                                 icon="terp-project"
105                                 string="My Features"
106                                 domain="[('user_id','=',uid)]"
107                                 help="My Backlogs"/>
108                         </field>
109                     </group>
110                 </search>
111             </field>
112         </record>
113
114         <record id="action_product_backlog_form" model="ir.actions.act_window">
115             <field name="name">Product Backlogs</field>
116             <field name="res_model">scrum.product.backlog</field>
117             <field name="view_type">form</field>
118             <field name="search_view_id" ref="view_scrum_product_backlog_search"/>
119         </record>
120         <menuitem
121             action="action_product_backlog_form"
122             id="menu_action_product_backlog_form"
123             sequence="20"
124             parent="menu_scrum"/>
125
126         <!--
127               Scrum Sprint
128        -->
129
130         <record id="view_scrum_sprint_tree" model="ir.ui.view">
131             <field name="name">scrum.sprint.tree</field>
132             <field name="model">scrum.sprint</field>
133             <field name="type">tree</field>
134             <field name="arch" type="xml">
135                 <tree string="Scrum Sprint">
136                     <field name="name"/>
137                     <field name="project_id"/>
138                     <field name="scrum_master_id"/>
139                     <field name="date_start"/>
140                     <field name="progress" widget="progressbar"/>
141                     <field name="effective_hours" sum="Effective hours" widget="float_time"/>
142                     <field name="planned_hours" sum="Planned hours" widget="float_time"/>
143                     <field name="state"/>
144                 </tree>
145             </field>
146         </record>
147         <record id="view_scrum_sprint_form" model="ir.ui.view">
148             <field name="name">scrum.sprint.form</field>
149             <field name="model">scrum.sprint</field>
150             <field name="type">form</field>
151             <field name="arch" type="xml">
152                 <form string="Scrum Sprint">
153                     <field name="name" select="1"/>
154                     <field name="project_id" on_change="onchange_project_id(project_id)"/>
155                     <notebook colspan="4">
156                         <page string="Sprint Info">
157                             <field name="date_start" select="1"/>
158                             <field name="date_stop"/>
159                             <field name="product_owner_id"/>
160                             <field name="scrum_master_id"/>
161                             <field name="progress"/>
162                             <field name="effective_hours" widget="float_time"/>
163                             <field name="planned_hours" widget="float_time"/>
164                             <newline/>
165                             <separator colspan="4" string="State"/>
166                             <field name="state"/>
167                         </page>
168                         <page string="Daily Meetings">
169                             <field colspan="4" name="meeting_ids" nolabel="1" widget="one2many_list"/>
170                         </page>
171                         <page string="Review">
172                             <field colspan="4" name="review" nolabel="1"/>
173                         </page>
174                         <page string="Retrospective">
175                             <field colspan="4" name="retrospective" nolabel="1"/>
176                         </page>
177                     </notebook>
178                 </form>
179             </field>
180         </record>
181
182         <record model="ir.ui.view" id="view_scrum_sprint_search">
183             <field name="name">scrum.sprint.search</field>
184             <field name="model">scrum.sprint</field>
185             <field name="type">search</field>
186             <field name="arch" type="xml">
187                 <search string="Sprints">
188                     <group col="10" colspan="4">
189                         <filter default="1" icon="terp-project" string="Current" domain="[('state','in',('draft','open'))]" help="Draft and open Sprints"/>
190                         <filter icon="terp-project" string="Draft" domain="[('state','=','draft')]" help="Draft Sprints"/>
191                         <filter icon="terp-project" string="Open" domain="[('state','=','open')]" help="Open Sprints"/>
192                         <separator orientation="vertical"/>
193                         <field name="name"/>
194                         <field name="project_id"/>
195                         <field name="scrum_master_id">
196                             <filter icon="gtk-execute" domain="[('scrum_master_id','=',uid)]"
197                                 default="1"
198                                 help="My Sprints"/>
199                         </field>
200                         <field name="date_start"/>
201                     </group>
202                 </search>
203             </field>
204         </record>
205
206         <record id="action_sprint_all_tree" model="ir.actions.act_window">
207             <field name="name">Sprints</field>
208             <field name="res_model">scrum.sprint</field>
209             <field name="view_type">form</field>
210             <field name="view_mode">tree,form</field>
211             <field name="view_id" ref="view_scrum_sprint_tree"/>
212             <field name="search_view_id" ref="view_scrum_sprint_search"/>
213         </record>
214         <menuitem
215             sequence="10"
216             action="action_sprint_all_tree" id="menu_action_sprint_all_tree" parent="menu_scrum"/>
217
218         <!--
219               Daily Meeting
220        -->
221
222         <record id="view_scrum_meeting_tree" model="ir.ui.view">
223             <field name="name">scrum.meeting.tree</field>
224             <field name="model">scrum.meeting</field>
225             <field name="type">tree</field>
226             <field name="arch" type="xml">
227                 <tree string="Scrum Sprint">
228                     <field name="date"/>
229                     <field name="name"/>
230                     <field name="sprint_id"/>
231                 </tree>
232             </field>
233         </record>
234         <record id="view_scrum_meeting_form" model="ir.ui.view">
235             <field name="name">Scrum Meeting</field>
236             <field name="model">scrum.meeting</field>
237             <field name="type">form</field>
238             <field name="arch" type="xml">
239                 <form string="Scrum Sprint">
240                     <field name="name" select="1"/>
241                     <field name="date"/>
242                     <field name="sprint_id"/>
243                     <notebook colspan="4">
244                         <page string="Scrum Meeting">
245                             <separator colspan="4" string="What have you accomplished since yesterday ?"/>
246                             <field colspan="4" name="question_yesterday" nolabel="1"/>
247                             <separator colspan="4" string="What are you working on today ?"/>
248                             <field colspan="4" name="question_today" nolabel="1"/>
249                             <separator colspan="4" string="Is there anything blocking you ?"/>
250                             <field colspan="4" name="question_blocks" nolabel="1"/>
251                         </page>
252                         <page string="Optionnal Info">
253                             <separator colspan="4" string="Are your Sprint Backlog estimate accurate ?"/>
254                             <field colspan="4" name="question_backlog" nolabel="1"/>
255                         </page>
256                     </notebook>
257                 </form>
258             </field>
259         </record>
260         <record id="action_meeting_form" model="ir.actions.act_window">
261             <field name="name">Scrum Meetings</field>
262             <field name="res_model">scrum.meeting</field>
263             <field name="view_type">form</field>
264             <field name="view_id" ref="view_scrum_meeting_form"/>
265         </record>
266         <menuitem sequence="30"
267             action="action_meeting_form" id="menu_action_meeting_form" parent="menu_scrum"/>
268
269         <!--
270        Clicks on a sprint:
271        -->
272
273         <record id="action_sprint_task_open" model="ir.actions.act_window">
274             <field name="res_model">project.task</field>
275             <field name="name">View sprint Tasks</field>
276             <field name="view_type">form</field>
277             <field name="view_mode">tree,form</field>
278             <field name="domain">[('product_backlog_id', '=', active_id)]</field>
279         </record>
280         <record id="ir_scrum_sprint_open_task" model="ir.values">
281             <field eval=" 'tree_but_open'" name="key2"/>
282             <field eval="'scrum.sprint'" name="model"/>
283             <field name="name">View sprint tasks</field>
284             <field eval="'ir.actions.act_window,'+str(action_sprint_task_open)" name="value"/>
285             <field eval="True" name="object"/>
286         </record>
287
288         <record id="action_sprint_backlog_open" model="ir.actions.act_window">
289             <field name="res_model">scrum.product.backlog</field>
290             <field name="name">View sprint backlog</field>
291             <field name="view_type">form</field>
292             <field name="view_mode">tree,form</field>
293             <field name="domain">[('sprint_id', '=', active_id)]</field>
294         </record>
295         <record id="ir_scrum_sprint_open_sprint" model="ir.values">
296             <field eval=" 'tree_but_open'" name="key2"/>
297             <field eval="'scrum.sprint'" name="model"/>
298             <field name="name">View sprint backlog</field>
299             <field eval="'ir.actions.act_window,'+str(action_sprint_backlog_open)" name="value"/>
300             <field eval="True" name="object"/>
301         </record>
302
303         <!--
304        Clicks on a project
305        -->
306
307         <record id="dblc_proj" model="ir.actions.act_window">
308             <field name="res_model">scrum.product.backlog</field>
309             <field name="name">View project's backlog</field>
310             <field name="view_type">form</field>
311             <field name="view_mode">tree,form</field>
312             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
313         </record>
314         <record id="ir_scrum_project_backlog" model="ir.values">
315             <field eval=" 'tree_but_open'" name="key2"/>
316             <field eval="'scrum.project'" name="model"/>
317             <field name="name">View project's backlog</field>
318             <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
319             <field eval="True" name="object"/>
320         </record>
321         <record id="dblc_proj2" model="ir.actions.act_window">
322             <field name="res_model">project.task</field>
323             <field name="name">View project's tasks</field>
324             <field name="view_type">form</field>
325             <field name="view_mode">tree,form</field>
326             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
327         </record>
328         <record id="ir_scrum_project_task" model="ir.values">
329             <field eval=" 'tree_but_open'" name="key2"/>
330             <field eval="'scrum.project'" name="model"/>
331             <field name="name">View project's tasks</field>
332             <field eval="'ir.actions.act_window,'+str(dblc_proj2)" name="value"/>
333             <field eval="True" name="object"/>
334         </record>
335
336         <!--
337         Tasks
338         -->
339
340         <record id="view_task_form2" model="ir.ui.view">
341             <field name="name">project.task.scrum.form</field>
342             <field name="model">project.task</field>
343             <field name="type">form</field>
344             <field name="inherit_id" ref="project.view_task_form2"/>
345             <field name="arch" type="xml">
346                 <field name="progress" position="after">
347                     <field domain="[('project_id','=',project_id)]" name="product_backlog_id" select="1"/>
348                 </field>
349             </field>
350         </record>
351
352         <record id="view_task_search_form" model="ir.ui.view">
353             <field name="name">project.task.scrum.search</field>
354             <field name="model">project.task</field>
355             <field name="type">search</field>
356             <field name="inherit_id" ref="project.view_task_search_form"/>
357             <field name="arch" type="xml">
358                 <field name="project_id" position="after">
359                     <field name="product_backlog_id" select="1"/>
360                 </field>
361             </field>
362         </record>
363
364     </data>
365 </openerp>