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