[IMP] Uniformize the icon in all kanban view (Google Hamburger)
[odoo/odoo.git] / addons / project / project_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <!-- Top menu item -->
6         <menuitem name="Project"
7             id="base.menu_main_pm"
8             groups="group_project_manager,group_project_user"
9             sequence="40"/>
10
11         <menuitem name="Project"
12             id="menu_project_management"
13             parent="base.menu_main_pm"
14             sequence="1"/>
15
16         <menuitem name="Configuration"
17             id="base.menu_definitions"
18             parent="base.menu_main_pm"
19             groups="group_project_manager"
20             sequence="60"/>
21
22         <record id="view_task_search_form" model="ir.ui.view">
23             <field name="name">project.task.search.form</field>
24             <field name="model">project.task</field>
25             <field name="arch" type="xml">
26                <search string="Tasks">
27                     <field name="name" string="Tasks"/>
28                     <field name="categ_ids"/>
29                     <field name="partner_id"/>
30                     <field name="project_id"/>
31                     <field name="user_id"/>
32                     <field name="stage_id"/>
33                     <filter string="My Tasks" domain="[('user_id','=',uid)]"/>
34                     <filter string="Unassigned" name="unassigned" domain="[('user_id', '=', False)]"/>
35                     <separator/>
36                     <filter string="New" name="draft" domain="[('stage_id.sequence', '&lt;=', 1)]"/>
37                     <separator/>
38                     <filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>
39                     <group expand="0" string="Group By">
40                         <filter string="Project" name="project" context="{'group_by':'project_id'}"/>
41                         <filter string="Task" context="{'group_by':'name'}"/>
42                         <filter string="Assigned to" name="User" context="{'group_by':'user_id'}"/>
43                         <filter string="Stage" name="Stage" context="{'group_by':'stage_id'}"/>
44                         <filter string="Company" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
45                         <separator/>
46                         <filter string="Last Message" name="group_message_last_post" context="{'group_by':'message_last_post:week'}"/>
47                         <filter string="Assignation Month" context="{'group_by':'date_start:month'}" help="Creation Date"/>
48                     </group>
49                 </search>
50             </field>
51         </record>
52
53         <record id="act_project_project_2_project_task_all" model="ir.actions.act_window">
54             <field name="name">Tasks</field>
55             <field name="res_model">project.task</field>
56             <field name="view_mode">kanban,tree,form,calendar,gantt,graph</field>
57             <field name="context">{
58                 'search_default_project_id': [active_id],
59                 'default_project_id': active_id,
60                 'active_test': False,
61             }</field>
62             <field name="search_view_id" ref="view_task_search_form"/>
63             <field name="help" type="html">
64                 <p>
65                     Odoo's project management allows you to manage the pipeline
66                     of tasks in order to get things done efficiently. You can
67                     track progress, discuss on tasks, attach documents, etc.
68                 </p>
69             </field>
70         </record>
71
72         <!-- Project -->
73         <record id="edit_project" model="ir.ui.view">
74             <field name="name">project.project.form</field>
75             <field name="model">project.project</field>
76             <field name="arch" type="xml">
77                 <form string="Project">
78                 <header>
79                     <button name="set_open" string="Re-open project" type="object" states="pending" class="oe_highlight" groups="base.group_user"/>
80                     <button name="set_done" string="Close Project" type="object" states="open,pending" groups="base.group_user"/>
81                     <button name="set_open" string="Re-open project" type="object" states="cancelled,close" groups="base.group_user"/>
82                     <button name="set_pending" string="Set as Pending" type="object" states="open" groups="base.group_user"/>
83                     <button name="set_template" string="Set as Template" type="object" states="open" groups="base.group_user"/>
84                     <button string="New Project Based on Template" name="duplicate_template"  type="object" states="template" context="{'parent_id':parent_id}" class="oe_highlight" groups="base.group_user"/>
85                     <button name="reset_project" string="Reset as Project" type="object" states="template" class="oe_highlight" groups="base.group_user"/>
86                     <button name="set_cancel" string="Cancel Project" type="object" states="open,pending" groups="base.group_user"/>
87                     <field name="state" widget="statusbar" statusbar_visible="open,close" statusbar_colors='{"pending":"blue"}' readonly="1"/>
88                 </header>
89                 <sheet string="Project">
90                     <field name="analytic_account_id" invisible="1" required="0"/>
91                     <div class="oe_title">
92                         <label for="name" class="oe_edit_only" string="Project Name"/>
93                         <h1>
94                             <field name="name" string="Project Name"/>
95                         </h1>
96                         <div name="options_active">
97                             <div>
98                                 <field name="use_tasks" class="oe_inline" string="Use Tasks"/>
99                                 <label for="use_tasks" class="oe_inline"/> as <field name="label_tasks" class="oe_inline"/>
100                             </div>
101                         </div>
102                     </div>
103                     <div class="oe_right oe_button_box" name="buttons" groups="base.group_user">
104                          <button class="oe_inline oe_stat_button" type="action" attrs="{'invisible':[('use_tasks','=', 0)]}"
105                             name="%(act_project_project_2_project_task_all)d" icon="fa-tasks">
106                             <field string="Tasks" name="task_count" widget="statinfo" options="{'label_field': 'label_tasks'}"/>
107                         </button>
108                         <button  class="oe_inline oe_stat_button" name="attachment_tree_view"  type="object" icon="fa-files-o">
109                             <field string="Documents" name="doc_count" widget="statinfo"/>
110                         </button>
111                     </div>
112                     <group>
113                         <group col="4">
114                             <field name="user_id" string="Project Manager"
115                                     attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"
116                                     context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_manager']}"/>
117                             <newline/>
118                             <field name="partner_id" on_change="onchange_partner_id(partner_id)" string="Customer"/>
119                         </group>
120                         <group name="group_alias"
121                                 attrs="{'invisible': [('alias_domain', '=', False)]}">
122                             <label for="alias_name" string="Email Alias"/>
123                             <div name="alias_def">
124                                 <field name="alias_id" class="oe_read_only oe_inline"
125                                         string="Email Alias" required="0"/>
126                                 <div class="oe_edit_only oe_inline" name="edit_alias" style="display: inline;" >
127                                     <field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
128                                 </div>
129                             </div>
130                             <label for="alias_model" string="Incoming Emails create"/>
131                             <field name="alias_model" class="oe_inline" nolabel="1"/>
132                             <field name="alias_contact" class="oe_inline"
133                                     string="Accept Emails From"/>
134                         </group>
135                     </group>
136                     <notebook>
137                         <page string="Team" name="team">
138                             <field colspan="4" name="members" widget="many2many_kanban" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_user']}">
139                                 <kanban quick_create="false" create="true" delete="true">
140                                     <field name="name"/>
141                                     <templates>
142                                         <t t-name="kanban-box">
143                                             <div style="position: relative">
144                                                 <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
145                                                 <div class="oe_module_vignette">
146                                                     <img t-att-src="kanban_image('res.users', 'image_small', record.id.value)" class="oe_avatar oe_kanban_avatar_smallbox"/>
147                                                     <div class="oe_module_desc">
148                                                         <field name="name"/>
149                                                     </div>
150                                                 </div>
151                                             </div>
152                                         </t>
153                                     </templates>
154                                 </kanban>
155                             </field>
156                         </page>
157                         <page string="Other Info">
158                             <group string="Administration">
159                                 <field name="privacy_visibility" widget="radio"/>
160                                 <field name="planned_hours" widget="float_time"
161                                         groups="project.group_time_work_estimation_tasks"/>
162                                 <field name="effective_hours" widget="float_time"
163                                         groups="project.group_time_work_estimation_tasks"/>
164                                 <field name="resource_calendar_id"
165                                         groups="project.group_time_work_estimation_tasks"/>
166                             </group>
167                             <group name="misc">
168                                 <field name="date_start" string="Start Date"/>
169                                 <field name="date" string="End Date"/>
170                                 <field name="sequence" groups="base.group_no_one"/>
171                                 <field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
172                                 <field name="currency_id" groups="base.group_multi_currency" required="1"/>
173                                 <field name="parent_id" string="Parent" help="Append this project to another one using analytic accounts hierarchy" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}" />
174                             </group>
175                         </page>
176                         <page string="Project Stages" attrs="{'invisible': [('use_tasks', '=', False)]}" name="project_stages">
177                             <p class="oe_grey">
178                                 Stages are defined globally and shared between projects.
179                                 You can "configure all available stages".Stages are used to organize work in steps inside a project.
180                                 In each step, you are able to change the status (validated, stopped) of the activity, no need to create specific stages for validation or blocked activities.
181                             </p>
182                             <field name="type_ids"/>
183                         </page>
184                     </notebook>
185                 </sheet>
186                 <div class="oe_chatter">
187                     <field name="message_follower_ids" widget="mail_followers" help="Follow this project to automatically track the events associated to tasks and issues of this project." groups="base.group_user"/>
188                     <field name="message_ids" widget="mail_thread"/>
189                 </div>
190                 </form>
191             </field>
192         </record>
193
194         <record id="view_project_project_filter" model="ir.ui.view">
195             <field name="name">project.project.select</field>
196             <field name="model">project.project</field>
197             <field name="arch" type="xml">
198                 <search string="Search Project">
199                     <field name="name" string="Project Name"/>
200                     <filter string="Open" name="Current" domain="[('state', '=','open')]"/>
201                     <filter string="Pending" name="Pending" domain="[('state', '=','pending')]"/>
202                     <filter string="Template" name="Template" domain="[('state', '=','template')]"/>
203                     <separator/>
204                     <filter string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]"/>
205                     <filter string="Manager" domain="[('user_id','=',uid)]"/>
206                     <separator/>
207                     <filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>
208                     <field name="user_id" string="Project Manager"/>
209                     <field name="partner_id" string="Contact" filter_domain="[('partner_id', 'child_of', self)]"/>
210                     <group expand="0" string="Group By">
211                         <filter string="Manager" name="Manager" context="{'group_by':'user_id'}"/>
212                         <filter string="Contact" name="Partner" context="{'group_by':'partner_id'}"/>
213                         <filter string="Parent" name="Parent" help="Parent" context="{'group_by':'parent_id'}"/>
214                     </group>
215                 </search>
216             </field>
217         </record>
218
219         <record id="view_project" model="ir.ui.view">
220             <field name="name">project.project.tree</field>
221             <field name="model">project.project</field>
222             <field name="field_parent">child_ids</field>
223             <field name="arch" type="xml">
224                 <tree fonts="bold:message_unread==True" colors="red:date and (date&lt;current_date) and (state == 'open');blue:state in ('draft','pending');grey: state in ('close','cancelled')" string="Projects">
225                     <field name="sequence" widget="handle"/>
226                     <field name="message_unread" invisible="1"/>
227                     <field name="date" invisible="1"/>
228                     <field name="name" string="Project Name"/>
229                     <field name="user_id" string="Project Manager"/>
230                     <field name="partner_id" string="Contact"/>
231                     <field name="parent_id" string="Parent" invisible="1"/>
232                     <field name="planned_hours" widget="float_time"/>
233                     <field name="total_hours" widget="float_time"/>
234                     <field name="effective_hours" widget="float_time"/>
235                     <field name="progress_rate" widget="progressbar"/>
236                     <field name="state"/>
237                 </tree>
238             </field>
239         </record>
240
241         <record model="ir.ui.view" id="view_project_kanban">
242             <field name="name">project.project.kanban</field>
243             <field name="model">project.project</field>
244             <field name="arch" type="xml">
245                 <kanban class="oe_background_grey">
246                     <field name="effective_hours"/>
247                     <field name="planned_hours"/>
248                     <field name="name"/>
249                     <field name="members"/>
250                     <field name="use_tasks"/>
251                     <field name="user_id"/>
252                     <field name="date"/>
253                     <field name="color"/>
254                     <field name="task_count"/>
255                     <field name="task_ids"/>
256                     <field name="alias_id"/>
257                     <field name="alias_name"/>
258                     <field name="alias_domain"/>
259                     <field name="doc_count"/>
260                     <templates>
261                         <t t-name="kanban-box">
262                             <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_global_click oe_kanban_project_task_spark">
263                                 <div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
264                                     <span class="oe_e">i</span>
265                                     <ul class="oe_dropdown_menu">
266                                         <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit Project</a></li></t>
267                                         <t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
268                                         <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
269                                     </ul>
270                                 </div>
271                                 <div class="oe_project_kanban_content">
272                                     <div class="row">
273                                         <h4 class="text-center"><strong><field name="name"/></strong></h4>
274                                         <div class="text-center oe_kanban_alias" t-if="record.alias_name.value and record.alias_domain.value">
275                                             <small><i class="fa fa-envelope-o"></i> <field name="alias_id"/></small>
276                                         </div>
277                                     </div>
278                                     <div class="row oe_margin_top_8 oe_kanban_project_list">
279                                         <a t-if="record.use_tasks.raw_value" class="oe_sparkline_bar_link" name="%(act_project_project_2_project_task_all)d" type="action" style="margin-right: -5px">
280                                             <t t-raw="record.task_ids.raw_value.length" /> <field name="label_tasks"/>
281                                             <field name="monthly_tasks" widget="sparkline_bar" options="{'delayIn': '1000'}">
282                                                 Created Tasks
283                                             </field>
284                                         </a>
285                                         <div t-if="record.use_tasks.raw_value and record.task_count.raw_value lt 1" style="margin-top: 6px;margin-left:20px;">
286                                             <img src="/project/static/src/img/top_left_arrow.png" style="margin-top: -8px; width: 22px;" />
287                                             <span>No activity yet, click to enter in the project.</span>
288                                         </div>
289                                     </div>
290                                     <div class="row oe_margin_top_8 oe_kanban_project_list">
291                                         <a t-if="record.doc_count.raw_value" name="attachment_tree_view" type="object" style="margin-right: 10px"> <field name="doc_count"/> Documents</a>
292                                     </div>
293                                     <div class="row oe_margin_top_8 oe_kanban_footer_left">
294                                         <span groups="project.group_time_work_estimation_tasks">
295                                             <span class="oe_e">R</span>
296                                             <t t-esc="Math.round(record.effective_hours.raw_value)"/>/<t t-esc="Math.round(record.planned_hours.raw_value)"/> <field name="company_uom_id"/>
297                                         </span>
298                                         <span t-if="record.date.raw_value">
299                                             <span class="oe_e">N</span>
300                                             <field name="date"/>
301                                         </span>
302                                     </div>
303                                     <div class="row oe_margin_top_8 oe_kanban_project_avatars">
304                                         <t t-foreach="record.members.raw_value.slice(0,11)" t-as="member">
305                                             <img t-att-src="kanban_image('res.users', 'image_small', member)" t-att-data-member_id="member"/>
306                                         </t>
307                                     </div>
308                                 </div>
309                             </div>
310                         </t>
311                     </templates>
312                 </kanban>
313             </field>
314         </record>
315
316        <record id="view_project_project_gantt" model="ir.ui.view">
317             <field name="name">project.project.gantt</field>
318             <field name="model">project.project</field>
319             <field name="arch" type="xml">
320                 <gantt date_delay="planned_hours" date_start="date_start" progress="progress_rate" string="Projects">
321                 </gantt>
322             </field>
323         </record>
324
325         <record id="open_view_project_all" model="ir.actions.act_window">
326             <field name="name">Projects</field>
327             <field name="res_model">project.project</field>
328             <field name="view_type">form</field>
329             <field name="domain">[]</field>
330             <field name="view_mode">kanban,tree,form,gantt</field>
331             <field name="view_id" ref="view_project_kanban"/>
332             <field name="search_view_id" ref="view_project_project_filter"/>
333             <field name="context">{'search_default_Current': 1}</field>
334             <field name="help" type="html">
335                 <p class="oe_view_nocontent_create">
336                   Click to start a new project.
337                 </p><p>
338                   Projects are used to organize your activities; plan
339                   tasks, track issues, invoice timesheets. You can define
340                   internal projects (R&amp;D, Improve Sales Process),
341                   private projects (My Todos) or customer ones.
342                 </p><p>
343                   You will be able collaborate with internal users on
344                   projects or invite customers to share your activities.
345                 </p>
346             </field>
347         </record>
348
349         <record id="open_view_template_project" model="ir.actions.act_window">
350             <field name="name">Templates of Projects</field>
351             <field name="res_model">project.project</field>
352             <field name="view_type">form</field>
353             <field name="domain">[('state','=','template')]</field>
354             <field name="view_id" ref="view_project"/>
355         </record>
356
357         <record id="view_task_work_form" model="ir.ui.view">
358             <field name="name">project.task.work.form</field>
359             <field name="model">project.task.work</field>
360             <field name="arch" type="xml">
361                 <form string="Task Work">
362                     <group col="4">
363                         <field colspan="4" name="name"/>
364                         <field name="hours" widget="float_time"/>
365                         <field name="date"/>
366                         <field name="user_id" options='{"no_open": True}' context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_partner_manager', 'project.group_project_user']}"/>
367                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
368                     </group>
369                 </form>
370             </field>
371         </record>
372
373         <record id="view_task_work_tree" model="ir.ui.view">
374             <field name="name">project.task.work.tree</field>
375             <field name="model">project.task.work</field>
376             <field name="arch" type="xml">
377                 <tree editable="top" string="Task Work">
378                     <field name="date"/>
379                     <field name="name"/>
380                     <field name="hours" widget="float_time"/>
381                     <field name="user_id" context="{'default_groups_ref': ['base.group_user', 'project.group_project_user']}"/>
382                 </tree>
383             </field>
384         </record>
385
386         <!-- Task -->
387
388         <record id="view_task_form2" model="ir.ui.view">
389             <field name="name">project.task.form</field>
390             <field name="model">project.task</field>
391             <field eval="2" name="priority"/>
392             <field name="arch" type="xml">
393                 <form string="Project">
394                     <header>
395                         <field name="stage_id" widget="statusbar" clickable="True"
396                             options="{'fold_field': 'fold'}"/>
397                     </header>
398                     <sheet string="Task">
399                     <div class="row">
400                         <h1 class="col-xs-11">
401                             <field class="oe_inline oe_left" name="priority" widget="priority"/>
402                             <field name="name" placeholder="Task summary..." class="oe_inline"/>
403                         </h1>
404                         <div class="col-xs-1 text-right">
405                             <field name="kanban_state" class="oe_inline" widget="kanban_state_selection"
406                                 options='{
407                                 "states_legend_field": "stage_id",
408                                 "states_legend": {"normal": "legend_normal", "blocked": "legend_blocked", "done": "legend_done"}}'/>
409                         </div>
410                     </div>
411                     <group>
412                         <group>
413                             <field name="project_id" domain="[('state','not in', ('close', 'cancelled'))]" on_change="onchange_project(project_id)" context="{'default_use_tasks':1}"/>
414                             <field name="user_id"
415                                 options='{"no_open": True}'
416                                 context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_user']}"/>
417                             <field name="planned_hours" widget="float_time"
418                                     groups="project.group_time_work_estimation_tasks"
419                                     on_change="onchange_planned(planned_hours, effective_hours)"/>
420                         </group>
421                         <group>
422                             <field name="date_deadline"/>
423                             <field name="categ_ids" widget="many2many_tags"/>
424                             <field name="progress" widget="progressbar"
425                                 groups="project.group_time_work_estimation_tasks"/>
426                         </group>
427                     </group>
428                     <notebook>
429                         <page string="Description">
430                             <field name="description" type="html"/>
431                             <field name="work_ids" groups="project.group_tasks_work_on_tasks">
432                                 <tree string="Task Work" editable="top">
433                                     <field name="name"/>
434                                     <field name="hours" widget="float_time" sum="Spent Hours"/>
435                                     <field name="date"/>
436                                     <field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_user']}"/>
437                                 </tree>
438                             </field>
439                             <group>
440                              <group class="oe_subtotal_footer oe_right" name="project_hours" groups="project.group_time_work_estimation_tasks">
441                                 <field name="effective_hours" widget="float_time"/>
442                                 <label for="remaining_hours" string="Remaining" groups="project.group_time_work_estimation_tasks"/>
443                                 <div>
444                                     <field name="remaining_hours" widget="float_time" groups="project.group_time_work_estimation_tasks"/>
445                                 </div>
446                                 <field name="total_hours" widget="float_time" class="oe_subtotal_footer_separator"/>
447                              </group>
448                             </group>
449                             <div class="oe_clear"/>
450                         </page>
451                         <page string="Delegation" groups="project.group_delegate_task">
452                             <button name="%(action_project_task_delegate)d" string="Delegate" type="action"
453                                     groups="project.group_delegate_task"/>
454                             <separator string="Parent Tasks"/>
455                             <field name="parent_ids"/>
456                             <separator string="Delegated tasks"/>
457                             <field name="child_ids">
458                                 <tree string="Delegated tasks">
459                                     <field name="name"/>
460                                     <field name="user_id"/>
461                                     <field name="stage_id"/>
462                                     <field name="effective_hours" widget="float_time"/>
463                                     <field name="progress" widget="progressbar"/>
464                                     <field name="remaining_hours" widget="float_time"/>
465                                     <field name="date_deadline"/>
466                                 </tree>
467                             </field>
468                         </page>
469                         <page string="Extra Info">
470                             <group col="4">
471                                 <field name="sequence" groups="base.group_no_one"/>
472                                 <field name="partner_id"/>
473                                 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
474                                 <field name="date_last_stage_update" groups="base.group_no_one"/>
475                             </group>
476                             <group>
477                                 <group string="Gantt View">
478                                     <p class="oe_grey" colspan='2'>
479                                         Assign dates to make this task appear in the gantt chart (<span class="oe_form_gantt_avatars"></span> icon on the top right)
480                                     </p>
481                                     <field name="date_start"/>
482                                     <field name="date_end"/>
483                                 </group>
484                             </group>
485                         </page>
486                     </notebook>
487                     </sheet>
488                     <div class="oe_chatter">
489                         <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
490                         <field name="message_ids" widget="mail_thread"/>
491                     </div>
492                 </form>
493             </field>
494         </record>
495
496         <!-- Project Task Kanban View -->
497         <record model="ir.ui.view" id="view_task_kanban">
498             <field name="name">project.task.kanban</field>
499             <field name="model">project.task</field>
500             <field name="arch" type="xml">
501                 <kanban default_group_by="stage_id">
502                     <field name="color"/>
503                     <field name="priority"/>
504                     <field name="stage_id" options='{"group_by_tooltip": {"description": "Description", "legend_priority": "Use of stars"}}'/>
505                     <field name="user_id"/>
506                     <field name="user_email"/>
507                     <field name="description"/>
508                     <field name="sequence"/>
509                     <field name="remaining_hours" sum="Remaining Time" groups="project.group_time_work_estimation_tasks"/>
510                     <field name="date_deadline"/>
511                     <field name="message_summary"/>
512                     <field name="categ_ids"/>
513                     <templates>
514                     <t t-name="kanban-box">
515                         <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
516                             <div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
517                                 <span class="oe_e">i</span>
518                                 <ul class="oe_dropdown_menu">
519                                     <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit Task</a></li></t>
520                                     <t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
521                                     <li>
522                                       <ul class="oe_kanban_project_times" groups="project.group_time_work_estimation_tasks">
523                                         <li><a name="set_remaining_time_1" type="object" class="oe_kanban_button">1</a></li>
524                                         <li><a name="set_remaining_time_2" type="object" class="oe_kanban_button">2</a></li>
525                                         <li><a name="set_remaining_time_5" type="object" class="oe_kanban_button">5</a></li>
526                                         <li><a name="set_remaining_time_10" type="object" class="oe_kanban_button">10</a></li>
527                                       </ul>
528                                     </li>
529                                     <br/>
530                                     <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
531                                 </ul>
532                             </div>
533
534                             <div class="oe_kanban_content">
535                                 <div><b><field name="name"/></b></div>
536                                 <div>
537                                     <field name="project_id" invisible="context.get('default_project_id', False)"/><br/>
538                                     <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
539                                     <span t-attf-class="#{red || ''}"><i><field name="date_deadline"/></i></span>
540                                 </div>
541                                 <div class="oe_kanban_footer_left">
542                                     <span groups="project.group_time_work_estimation_tasks" title="Remaining hours">
543                                         <span class="oe_e">N</span>
544                                         <t t-esc="Math.round(record.remaining_hours.raw_value)"/>
545                                     </span>
546                                 </div>
547                                 <div class="oe_kanban_footer_left" style="margin-top:5px;">
548                                     <t t-raw="record.message_summary.raw_value"/>
549                                     <field name="categ_ids"/>
550                                 </div>
551                                     <div class="oe_kanban_bottom_right">
552                                         <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
553                                         <div class="pull-left" groups="base.group_user">
554                                             <field name="kanban_state" widget="kanban_state_selection" 
555                                                 options='{"states_legend": {"normal": "legend_normal", "blocked": "legend_blocked", "done": "legend_done"}}'/>
556                                             <field name="priority" widget="priority"/>
557                                         </div>
558                                     </div>
559                             </div>
560                             <div class="oe_clear"></div>
561                         </div>
562                     </t>
563                     </templates>
564                 </kanban>
565             </field>
566          </record>
567
568         <record id="view_task_tree2" model="ir.ui.view">
569             <field name="name">project.task.tree</field>
570             <field name="model">project.task</field>
571             <field eval="2" name="priority"/>
572             <field name="arch" type="xml">
573                 <tree fonts="bold:message_unread==True" colors="red:date_deadline and (date_deadline&lt;current_date)" string="Tasks">
574                     <field name="message_unread" invisible="1"/>
575                     <field name="sequence" invisible="not context.get('seq_visible', False)"/>
576                     <field name="name"/>
577                     <field name="project_id" invisible="context.get('user_invisible', False)"/>
578                     <field name="user_id" invisible="context.get('user_invisible', False)"/>
579                     <field name="delegated_user_id" invisible="context.get('show_delegated', True)"/>
580                     <field name="total_hours" invisible="1"/>
581                     <field name="planned_hours" invisible="context.get('set_visible',False)" groups="project.group_time_work_estimation_tasks"/>
582                     <field name="effective_hours" widget="float_time" sum="Spent Hours" invisible="1"/>
583                     <field name="remaining_hours" widget="float_time" sum="Remaining Hours" on_change="onchange_remaining(remaining_hours,planned_hours)" invisible="context.get('set_visible',False)" groups="project.group_time_work_estimation_tasks"/>
584                     <field name="date_deadline" invisible="context.get('deadline_visible',True)"/>
585                     <field name="stage_id" invisible="context.get('set_visible',False)"/>
586                     <field name="date_start" groups="base.group_no_one"/>
587                     <field name="date_end" groups="base.group_no_one"/>
588                     <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
589                 </tree>
590             </field>
591         </record>
592
593         <record id="view_task_calendar" model="ir.ui.view">
594             <field name="name">project.task.calendar</field>
595             <field name="model">project.task</field>
596             <field eval="2" name="priority"/>
597             <field name="arch" type="xml">
598                 <calendar color="user_id" date_start="date_deadline" string="Tasks">
599                     <field name="name"/>
600                     <field name="project_id"/>
601                 </calendar>
602             </field>
603         </record>
604
605         <record id="view_task_gantt" model="ir.ui.view">
606             <field name="name">project.task.gantt</field>
607             <field name="model">project.task</field>
608             <field eval="2" name="priority"/>
609             <field name="arch" type="xml">
610                 <gantt date_start="date_start" date_stop="date_end" progress="progress" string="Tasks" default_group_by="project_id">
611                 </gantt>
612             </field>
613         </record>
614
615         <record id="view_project_task_graph" model="ir.ui.view">
616             <field name="name">project.task.graph</field>
617             <field name="model">project.task</field>
618             <field name="arch" type="xml">
619                 <graph string="Project Tasks" type="bar">
620                     <field name="project_id" type="row"/>
621                     <field name="stage_id" type="row"/>
622                 </graph>
623             </field>
624         </record>
625
626         <record id="analytic_account_inherited_form" model="ir.ui.view">
627             <field name="name">account.analytic.account.form.inherit</field>
628             <field name="model">account.analytic.account</field>
629             <field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
630             <field eval="18" name="priority"/>
631             <field name="arch" type="xml">
632                 <xpath expr='//div[@name="project"]' position='inside'>
633                     <field name="use_tasks"/>
634                     <label for="use_tasks"/>
635                 </xpath>
636             </field>
637         </record>
638
639         <record id="action_view_task" model="ir.actions.act_window">
640             <field name="name">Tasks</field>
641             <field name="res_model">project.task</field>
642             <field name="view_mode">kanban,tree,form,calendar,gantt,graph</field>
643             <field name="search_view_id" ref="view_task_search_form"/>
644             <field name="help" type="html">
645                 <p>
646                     Odoo's project management allows you to manage the pipeline
647                     of tasks in order to get things done efficiently. You can
648                     track progress, discuss on tasks, attach documents, etc.
649                 </p>
650             </field>
651         </record>
652         <record id="open_view_task_list_kanban" model="ir.actions.act_window.view">
653             <field name="sequence" eval="0"/>
654             <field name="view_mode">kanban</field>
655             <field name="act_window_id" ref="action_view_task"/>
656         </record>
657         <record id="open_view_task_list_tree" model="ir.actions.act_window.view">
658             <field name="sequence" eval="1"/>
659             <field name="view_mode">tree</field>
660             <field name="act_window_id" ref="action_view_task"/>
661         </record>
662
663         <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="5"/>
664
665         <record id="action_view_task_overpassed_draft" model="ir.actions.act_window">
666             <field name="name">Overpassed Tasks</field>
667             <field name="res_model">project.task</field>
668             <field name="view_type">form</field>
669             <field name="view_mode">tree,form,calendar,graph,kanban</field>
670             <field name="domain">[('date_deadline','&lt;',time.strftime('%Y-%m-%d'))]</field>
671             <field name="filter" eval="True"/>
672             <field name="search_view_id" ref="view_task_search_form"/>
673         </record>
674
675         <!-- Opening task when double clicking on project -->
676         <record id="dblc_proj" model="ir.actions.act_window">
677             <field name="res_model">project.task</field>
678             <field name="name">Project's tasks</field>
679             <field name="view_type">form</field>
680             <field name="view_mode">tree,form,calendar,graph,gantt,kanban</field>
681             <field name="domain">[('project_id', 'child_of', [active_id])]</field>
682             <field name="context">{'project_id':active_id, 'active_test':False}</field>
683         </record>
684
685         <record id="ir_project_task_open" model="ir.values">
686             <field eval="'tree_but_open'" name="key2"/>
687             <field eval="'project.project'" name="model"/>
688             <field name="name">View project's tasks</field>
689             <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/>
690         </record>
691
692         <!-- Task types -->
693         <record id="task_type_search" model="ir.ui.view">
694             <field name="name">project.task.type.search</field>
695             <field name="model">project.task.type</field>
696             <field name="arch" type="xml">
697                 <search string="Tasks Stages">
698                    <field name="name" string="Tasks Stages"/>
699                    <filter string="Common" name="common" domain="[('case_default', '=', 1)]" help="Stages common to all projects"/>
700                 </search>
701             </field>
702         </record>
703
704         <record id="task_type_edit" model="ir.ui.view">
705             <field name="name">project.task.type.form</field>
706             <field name="model">project.task.type</field>
707             <field name="arch" type="xml">
708                 <form string="Task Stage">
709                     <group>
710                         <group>
711                             <field name="name"/>
712                             <field name="sequence"/>
713                             <field name="case_default"/>
714                             <field name="fold"/>
715                         </group>
716                         <group>
717                             <field name="legend_blocked"/>
718                             <field name="legend_done"/>
719                             <field name="legend_normal"/>
720                             <field name="legend_priority"/>
721                         </group>
722                     </group>
723                     <field name="description" placeholder="Add a description..."/>
724                 </form>
725             </field>
726         </record>
727
728         <record id="task_type_tree" model="ir.ui.view">
729             <field name="name">project.task.type.tree</field>
730             <field name="model">project.task.type</field>
731             <field name="arch" type="xml">
732                 <tree string="Task Stage">
733                     <field name="sequence" widget="handle"/>
734                     <field name="name"/>
735                     <field name="fold"/>
736                 </tree>
737             </field>
738         </record>
739
740         <record id="open_task_type_form" model="ir.actions.act_window">
741             <field name="name">Stages</field>
742             <field name="res_model">project.task.type</field>
743             <field name="view_type">form</field>
744             <field name="view_id" ref="task_type_tree"/>
745             <field name="help" type="html">
746               <p class="oe_view_nocontent_create">
747                 Click to add a stage in the task pipeline.
748               </p><p>
749                 Define the steps that will be used in the project from the
750                 creation of the task, up to the closing of the task or issue.
751                 You will use these stages in order to track the progress in
752                 solving a task or an issue.
753               </p>
754             </field>
755         </record>
756
757         <menuitem id="menu_tasks_config" name="GTD" parent="base.menu_definitions" sequence="1"/>
758
759         <menuitem action="open_task_type_form" id="base.menu_project_config_project" name="Stages" parent="base.menu_definitions" sequence="1" groups="base.group_no_one"/>
760
761         <menuitem action="open_view_project_all" id="menu_projects" name="Projects" parent="menu_project_management" sequence="1"/>
762
763          <record id="product_search_form_view_procurment_consume" model="ir.ui.view">
764             <field name="name">product.product.service.search</field>
765             <field name="model">product.template</field>
766             <field name="inherit_id" ref="product.product_template_search_view"/>
767             <field name="arch" type="xml">
768                 <xpath expr="//filter[@name='services']" position="replace">
769                     <filter string="Services" name="services" domain="[('type','=','service')]" invisible="context.get('consumable_services', False)"/>
770                  </xpath>
771                  <xpath expr="//filter[@name='consumable']" position="replace">
772                      <filter string="Consumable" name="consumable" domain="[('type','=','consu')]" help="Consumable products" invisible="context.get('consumable_services', False)"/>
773                  </xpath>
774             </field>
775         </record>
776
777          <record id="task_company" model="ir.ui.view">
778             <field name="name">res.company.task.config</field>
779             <field name="model">res.company</field>
780             <field name="inherit_id" ref="base.view_company_form"/>
781             <field name="arch" type="xml">
782                 <xpath expr="//group[@name='account_grp']" position="after">
783                     <group name="project_grp" string="Projects">
784                         <field name="project_time_mode_id" domain="[('category_id','=','Working Time')]"/>
785                     </group>
786                 </xpath>
787             </field>
788         </record>
789
790         <!-- User Form -->
791         <act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}"
792                     id="act_res_users_2_project_task_opened" name="Assigned Tasks"
793                     res_model="project.task" src_model="res.users" view_mode="tree,form,gantt,calendar,graph" view_type="form"/>
794
795         <!-- Tags -->
796         <record model="ir.ui.view" id="project_category_search_view">
797             <field name="name">Tags</field>
798             <field name="model">project.category</field>
799             <field name="arch" type="xml">
800                 <search string="Issue Version">
801                     <field name="name"/>
802                 </search>
803             </field>
804         </record>
805         <record model="ir.ui.view" id="project_category_form_view">
806             <field name="name">Tags</field>
807             <field name="model">project.category</field>
808             <field name="arch" type="xml">
809                 <form string="Tags">
810                     <group col="4">
811                         <field name="name"/>
812                     </group>
813                 </form>
814             </field>
815         </record>
816         <record id="project_category_action" model="ir.actions.act_window">
817             <field name="name">Tags</field>
818             <field name="res_model">project.category</field>
819             <field name="view_type">form</field>
820             <field name="help" type="html">
821               <p class="oe_view_nocontent_create">
822                 Click to add a new tag.
823               </p>
824             </field>
825         </record>
826         <menuitem action="project_category_action" id="menu_project_category_act" parent="base.menu_definitions" groups="base.group_no_one"/>
827
828     </data>
829 </openerp>