[ADD] project_scrum : added charts on Scrum Dashboard
[odoo/odoo.git] / addons / project / report / project_report_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <menuitem id="base.menu_project_report" name="Reporting" parent="base.menu_main_pm" sequence="50"/>
6
7         <record id="view_task_project_user_tree" model="ir.ui.view">
8             <field name="name">report.project.task.user.tree</field>
9             <field name="model">report.project.task.user</field>
10             <field name="type">tree</field>
11             <field name="arch" type="xml">
12                 <tree string="Tasks Analysis">
13                         <field name="name" invisible="1"/>
14                     <field name="project_id" invisible="1"/>
15                     <field name="user_id" invisible="1"/>
16                     <field name="date_deadline" invisible="1"/>
17                     <field name="state" invisible="1"/>
18                     <field name="date_start" invisible="1"/>
19                     <field name="date_end" invisible="1"/>
20                     <field name="company_id" invisible="1" groups="base.group_multi_company"/>
21                     <field name="partner_id" invisible="1"/>
22                     <field name="type_id" invisible="1"/>
23                     <field name="day" invisible="1"/>
24                     <field name="month" invisible="1"/>
25                     <field name="year" invisible="1"/>
26                     <field name="nbr" sum='# of tasks'/>
27                     <field name="no_of_days" sum="# of Days"/>
28                     <field name="total_hours" sum='Total Hours'/>
29                     <field name="hours_planned" sum='Planned Hours'/>
30                     <field name="remaining_hours" sum='Remaining Hours'/>
31                     <field name="hours_effective" sum='Effective Hours'/>
32                     <field name="hours_delay" sum='Avg. Plan.-Eff.'/>
33                     <field name="opening_days" sum='Days to Open'/>
34                     <field name="closing_days" sum='Days to Close'/>
35                     <field name="delay_endings_days" sum='OverPass delay'/>
36                     <field name="progress" sum='Progress' widget='progressbar'/>
37                 </tree>
38             </field>
39         </record>
40
41         <record id="view_task_project_user_graph" model="ir.ui.view">
42             <field name="name">report.project.task.user.graph</field>
43             <field name="model">report.project.task.user</field>
44             <field name="type">graph</field>
45             <field name="arch" type="xml">
46                     <graph string="Tasks Analysis" type="bar">
47                          <field name="name"/>
48                          <field name="state" group="True"/>
49                          <field name="no_of_days" operator="+"/>
50                      </graph>
51                 </field>
52         </record>
53
54         <record id="view_task_project_user_search" model="ir.ui.view">
55             <field name="name">report.project.task.user.search</field>
56             <field name="model">report.project.task.user</field>
57             <field name="type">search</field>
58             <field name="arch" type="xml">
59                 <search string="Tasks Analysis">
60                         <group colspan="10" col="12">
61                             <filter icon="terp-go-year" string="  Year  "
62                                 domain="[('date_start','&lt;=', time.strftime('%%Y-%%m-%%d')),('date_start','&gt;=',time.strftime('%%Y-01-01'))]"
63                                     help="Current Year"/>
64                             <filter icon="terp-go-month" string="   Month   "
65                                         name="month"
66                                         domain="[('date_start','&lt;=', time.strftime('%%Y-%%m-%%d')),('date_start','&gt;=',time.strftime('%%Y-%%m-01'))]"
67                                         help="Current Month"/>
68                                 <filter icon="terp-go-week"
69                                     string="    Month-1    "
70                                     separator="1"
71                                     domain="[('date_start','&lt;=', (datetime.date (int(time.strftime('%%Y')), datetime.date.today().month, 1) - datetime.timedelta (days = 1)).strftime('%%Y-%%m-%%d')),('date_start','&gt;',(datetime.date (int(time.strftime('%%Y')), datetime.date.today().month-1, 1)).strftime('%%Y-%%m-%%d'))]"
72                                     help="Previous Month"/>
73                             <separator orientation="vertical"/>
74                             <filter string="Draft"
75                                         icon="terp-document-new"
76                                         domain="[('state','=','draft')]"
77                                         help = "Draft tasks"/>
78                                 <filter string="Current"
79                                                 icon="terp-check"
80                                                 domain="[('state', '=' ,'open')]"
81                                                 help = "In progress tasks"/>
82                                 <filter string="Pending"
83                                                 icon="terp-gtk-media-pause"
84                                                 domain="[('state','=','pending')]"
85                                                 help = "Pending tasks"/>
86                         <filter string="Done"
87                                         icon="terp-dialog-close"
88                                         name="done"
89                                         domain="[('state','=','done')]"/>
90                        <separator orientation="vertical"/>
91                             <field name="project_id">
92                                 <filter icon="terp-folder-blue"
93                                                 string="My Projects"
94                                                 help="My Projects" domain="[('project_id.user_id','=',uid)]"/>
95                           </field>
96
97                           <field name="user_id" widget="selection">
98                                 <filter icon="terp-personal"
99                                                 string="My Task"
100                                                 help = "My tasks"
101                                                 domain="[('user_id','=',uid)]" />
102                                 <filter icon="terp-personal-"
103                                                 string="Non Assigned Tasks to users"
104                                                 help="Non Assigned Tasks to users"
105                                                 domain="[('user_id','=',False)]"/>
106                           </field>
107                       <field name="partner_id" />
108                     </group>
109                     <newline/>
110                     <group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
111                         <field name="type_id" widget="selection"/>
112                         <separator orientation="vertical"/>
113                         <field name="date_start"/>
114                         <field name="date_deadline"/>
115                         <field name="date_end"/>
116                         <separator orientation="vertical"/>
117                         <field name="priority"/>
118                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
119                     </group>
120                     <newline/>
121                     <group expand="1" string="Group By..." colspan="10" col="12">
122                         <filter string="Project" name="project" icon="terp-folder-blue" context="{'group_by':'project_id'}"/>
123                         <filter string="Task" icon="terp-stock_align_left_24" context="{'group_by':'name'}" />
124                         <separator orientation="vertical"/>
125                         <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
126                         <filter string="Assigned to" name="User" icon="terp-personal" context="{'group_by':'user_id'}" />
127                         <separator orientation="vertical"/>
128                         <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
129                         <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}"  groups="base.group_multi_company"/>
130                         <filter string="Stage" icon="terp-stage" context="{'group_by':'type_id'}" />
131                         <separator orientation="vertical"/>
132                         <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Current Day"/>
133                         <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Current Month"/>
134                         <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Current Year"/>
135                     </group>
136                 </search>
137             </field>
138         </record>
139
140        <record id="action_project_task_user_tree" model="ir.actions.act_window">
141             <field name="name">Tasks Analysis</field>
142             <field name="res_model">report.project.task.user</field>
143             <field name="view_type">form</field>
144             <field name="view_mode">tree,graph</field>
145             <field name="search_view_id" ref="view_task_project_user_search"/>
146             <field name="context">{'search_default_month':1,'search_default_project':1,'group_by_no_leaf':1,'group_by':[]}</field>
147             <field name="help">Get detailed analysis by task</field>
148         </record>
149
150         <menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="base.menu_project_report" groups="project.group_project_manager"/>
151
152    <!-- Views and action for project dashboard -->
153    <record id="view_project_vs_remaining_hours_tree" model="ir.ui.view">
154         <field name="name">project.vs.remaining.hour.tree</field>
155         <field name="model">project.vs.hours</field>
156         <field name="type">tree</field>
157         <field name="arch" type="xml">
158             <tree string="Remaining Hours Per Project" colors="pink:state=='draft';blue:state=='pending';black:state=='open';red:state=='cancelled';grey:state=='close';yellow:state=='template'">
159                 <field name="project"/>
160                 <field name="remaining_hours"/>
161                 <field name="state"/>
162             </tree>
163         </field>
164     </record>
165
166     <record id="view_project_vs_remaining_hours_graph" model="ir.ui.view">
167          <field name="name">project.vs.remaining.hour.graph</field>
168          <field name="model">project.vs.hours</field>
169          <field name="type">graph</field>
170          <field name="arch" type="xml">
171              <graph string="Project vs remaining hours" type="bar">
172                  <field name="project"/>
173                  <field name="state" group="True"/>
174                  <field name="remaining_hours" operator="+"/>
175              </graph>
176          </field>
177     </record>
178
179     <record id="action_project_vs_remaining_hours_graph" model="ir.actions.act_window">
180         <field name="name">Remaining Hours Per Project</field>
181         <field name="res_model">project.vs.hours</field>
182         <field name="view_type">form</field>
183         <field name="view_mode">graph,tree</field>
184         <field name="domain">[('uid','=',uid),('state','=','open')]</field>
185         <field name="view_id" ref="view_project_vs_remaining_hours_graph"/>
186     </record>
187
188         <record id="open_view_project_vs_remaining_hours_tree" model="ir.actions.act_window.view">
189             <field eval="1" name="sequence"/>
190             <field name="view_mode">graph</field>
191             <field name="view_id" ref="view_project_vs_remaining_hours_graph"/>
192             <field name="act_window_id" ref="action_project_vs_remaining_hours_graph"/>
193    </record>
194    <record id="open_view_project_vs_remaining_hours_graph" model="ir.actions.act_window.view">
195             <field eval="2" name="sequence"/>
196             <field name="view_mode">graph</field>
197             <field name="view_id" ref="view_project_vs_remaining_hours_graph"/>
198             <field name="act_window_id" ref="action_project_vs_remaining_hours_graph"/>
199    </record>
200     <!-- Views and action for project issue dashboard -->
201     <record id="view_task_by_days_tree" model="ir.ui.view">
202         <field name="name">task.by.days.tree</field>
203         <field name="model">task.by.days</field>
204         <field name="type">tree</field>
205         <field name="arch" type="xml">
206             <tree string="Task By Days" >
207                 <field name="day"/>
208                 <field name="total_task"/>
209                 <field name="state"/>
210             </tree>
211         </field>
212     </record>
213
214     <record id="view_task_by_days_graph" model="ir.ui.view">
215          <field name="name">task.by.days.graph</field>
216          <field name="model">task.by.days</field>
217          <field name="type">graph</field>
218          <field name="arch" type="xml">
219              <graph string="Task By Days" type="bar">
220                  <field name="day"/>
221                  <field name="state" group="True"/>
222                  <field name="project_id" group="True"/>
223                  <field name="total_task" operator="+"/>
224              </graph>
225          </field>
226     </record>
227
228     <record id="action_task_by_days_graph" model="ir.actions.act_window">
229         <field name="name">Task By Days</field>
230         <field name="res_model">task.by.days</field>
231         <field name="view_type">form</field>
232         <field name="view_mode">graph,tree</field>
233         <field name="domain">[('day','&lt;=',time.strftime('%Y-%m-%d')),('day','&gt;=', time.strftime('%Y-%m-%d', time.localtime(time.time()-(15*24*3600))))]</field>
234         <field name="view_id" ref="view_task_by_days_graph"/>
235     </record>
236
237     <!-- Views and action for project  dashboard -->
238    <record id="view_project_vs_planned_total_hours_tree" model="ir.ui.view">
239         <field name="name">project.vs.planned.total.hour.tree</field>
240         <field name="model">project.vs.hours</field>
241         <field name="type">tree</field>
242         <field name="arch" type="xml">
243             <tree string="Project Vs Planned and Total Hours" colors="pink:state=='draft';blue:state=='pending';black:state=='open';red:state=='cancelled';grey:state=='close';yellow:state=='template'">
244                 <field name="project"/>
245                 <field name="planned_hours"/>
246                 <field name="total_hours"/>
247             </tree>
248         </field>
249     </record>
250
251     <record id="view_project_vs_planned_total_hours_graph" model="ir.ui.view">
252          <field name="name">project.vs.planned.total.hour.graph</field>
253          <field name="model">project.vs.hours</field>
254          <field name="type">graph</field>
255          <field name="arch" type="xml">
256              <graph string="Project Vs Planned and Total Hours" type="bar">
257                  <field name="project"/>
258                  <field name="planned_hours" operator="+"/>
259                  <field name="total_hours" operator="+"/>
260              </graph>
261          </field>
262     </record>
263
264     <record id="action_project_vs_planned_total_hours_graph" model="ir.actions.act_window">
265         <field name="name">Projects: Planned Vs Total hours</field>
266         <field name="res_model">project.vs.hours</field>
267         <field name="view_type">form</field>
268         <field name="view_mode">graph,tree</field>
269         <field name="domain">[('uid','=',uid),('state','=','open')]</field>
270         <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
271     </record>
272
273         <record id="open_view_project_vs_planned_total_hours_tree" model="ir.actions.act_window.view">
274             <field eval="1" name="sequence"/>
275             <field name="view_mode">graph</field>
276             <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
277             <field name="act_window_id" ref="action_project_vs_planned_total_hours_graph"/>
278     </record>
279     <record id="open_view_project_vs_planned_total_hours_graph" model="ir.actions.act_window.view">
280             <field eval="2" name="sequence"/>
281             <field name="view_mode">graph</field>
282             <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
283             <field name="act_window_id" ref="action_project_vs_planned_total_hours_graph"/>
284     </record>
285     </data>
286 </openerp>