flectra/addons/project/views/project_views.xml

1010 lines
56 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<flectra>
<!-- Top menu item -->
<menuitem name="Project"
id="menu_main_pm"
groups="group_project_manager,group_project_user"
web_icon="project,static/description/icon.png"
sequence="50"/>
<menuitem name="Search"
id="menu_project_management"
parent="menu_main_pm"
sequence="2" groups="base.group_no_one,group_project_user"/>
<menuitem id="menu_project_config" name="Configuration" parent="menu_main_pm"
sequence="100" groups="project.group_project_manager"/>
<record id="view_task_search_form" model="ir.ui.view">
<field name="name">project.task.search.form</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<search string="Tasks">
<field name="name" string="Tasks"/>
<field name="tag_ids"/>
<field name="partner_id"/>
<field name="project_id"/>
<field name="user_id"/>
<field name="stage_id"/>
<filter string="My Tasks" name="my_tasks" domain="[('user_id','=',uid)]"/>
<filter string="My Followed Tasks" domain="[('message_is_follower', '=', True)]" />
<filter string="Unassigned" name="unassigned" domain="[('user_id', '=', False)]"/>
<separator/>
<filter string="Starred" name="starred" domain="[('priority','in',[1, 2])]"/>
<separator/>
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<separator/>
<filter string="My Activities" name="activities_my"
domain="[('activity_ids.user_id', '=', uid)]"/>
<separator/>
<filter string="Late Activities" name="activities_overdue"
domain="[('activity_ids.date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
help="Show all records which has next action date is before today"/>
<filter string="Today Activities" name="activities_today"
domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
<filter string="Future Activities" name="activities_upcoming_all"
domain="[('activity_ids.date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))
]"/>
<group expand="0" string="Group By">
<filter string="Project" name="project" context="{'group_by':'project_id'}"/>
<filter string="Task" context="{'group_by':'name'}"/>
<filter string="Assigned to" name="User" context="{'group_by':'user_id'}"/>
<filter string="Stage" name="Stage" context="{'group_by':'stage_id'}"/>
<filter string="Company" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator/>
<filter string="Last Message" name="group_message_last_post" context="{'group_by':'message_last_post:week'}" invisible="1"/>
</group>
</search>
</field>
</record>
<record id="act_project_project_2_project_task_all" model="ir.actions.act_window">
<field name="name">Tasks</field>
<field name="res_model">project.task</field>
<field name="view_mode">kanban,tree,form,calendar,pivot,graph</field>
<field name="context">{
'group_by': 'stage_id',
'search_default_project_id': [active_id],
'default_project_id': active_id,
}</field>
<field name="search_view_id" ref="view_task_search_form"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Here, you can create new tasks
</p>
<p>
You can now manage your tasks in order to get things done efficiently. Track progress, discuss, attach documents, etc.
</p>
</field>
</record>
<record id="project_task_action_sub_task" model="ir.actions.act_window">
<field name="name">Sub-tasks</field>
<field name="res_model">project.task</field>
<field name="view_mode">kanban,tree,form,calendar,pivot,graph</field>
<field name="domain">[('id', 'child_of', active_id), ('id', '!=', active_id)]</field>
<field name="context">
{
'default_parent_id' : active_id,
'default_project_id' : project_id,
'default_name' : name + ':',
'default_partner_id' : partner_id,
'search_default_project_id': [project_id],
}
</field>
<field name="search_view_id" ref="project.view_task_search_form"/>
</record>
<!-- Project -->
<record id="edit_project" model="ir.ui.view">
<field name="name">project.project.form</field>
<field name="model">project.project</field>
<field name="arch" type="xml">
<form string="Project">
<sheet string="Project">
<field name="analytic_account_id" invisible="1" required="0"/>
<div class="oe_button_box" name="button_box" groups="base.group_user">
<button class="oe_stat_button" name="attachment_tree_view" type="object" icon="fa-files-o">
<field string="Documents" name="doc_count" widget="statinfo"/>
</button>
<button class="oe_stat_button" type="action"
name="%(act_project_project_2_project_task_all)d" icon="fa-tasks">
<field string="Tasks" name="task_count" widget="statinfo" options="{'label_field': 'label_tasks'}"/>
</button>
<button name="toggle_active" type="object"
confirm="(Un)archiving a project automatically (un)archives its tasks and issues. Do you want to proceed?"
class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button"
options='{"terminology": "archive"}'/>
</button>
</div>
<div class="oe_title">
<h1>
<field name="name" placeholder="Project Name"/>
</h1>
<div name="options_active" class="oe_edit_only">
<div>
<label for="label_tasks" class="oe_inline" string="Name of the tasks :"/>
<field name="label_tasks" class="oe_inline oe_input_align"/>
</div>
</div>
</div>
<notebook>
<page name="settings" string="Settings">
<group>
<field name="user_id" string="Project Manager"
attrs="{'readonly':[('active','=',False)]}"/>
<field name="company_id"/>
<field name="branch_id" groups="base_branch_company.group_multi_branch"/>
<field name="subtask_project_id" groups="project.group_subtask_project"/>
<field name="privacy_visibility" widget="radio"/>
<field name="partner_id" string="Customer"/>
</group>
<group col="6">
<field name="low"/>
<field name="medium"/>
<field name="high"/>
</group>
<group name="misc">
<group string="Configuration" groups="base.group_no_one">
<field name="sequence" groups="base.group_no_one"/>
</group>
<group string="Time Scheduling" groups="base.group_no_one">
<field name="resource_calendar_id" groups="base.group_no_one"/>
</group>
</group>
</page>
<page name="emails" string="Emails" attrs="{'invisible': [('alias_domain', '=', False)]}">
<group name="group_alias">
<label for="alias_name" string="Email Alias"/>
<div name="alias_def">
<field name="alias_id" class="oe_read_only oe_inline"
string="Email Alias" required="0"/>
<div class="oe_edit_only oe_inline" name="edit_alias" style="display: inline;" >
<field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
</div>
</div>
<field name="alias_contact" class="oe_inline oe_edit_only"
string="Accept Emails From"/>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<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"/>
</div>
</form>
</field>
</record>
<record id="view_project_project_filter" model="ir.ui.view">
<field name="name">project.project.select</field>
<field name="model">project.project</field>
<field name="arch" type="xml">
<search string="Search Project">
<field name="name" string="Project Name"/>
<filter string="My Favorites" name="my_projects" domain="[('favorite_user_ids', 'in', uid)]"/>
<separator/>
<filter string="Followed by Me" domain="[('message_is_follower','=',True)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<field name="user_id" string="Project Manager"/>
<field name="partner_id" string="Contact" filter_domain="[('partner_id', 'child_of', self)]"/>
<group expand="0" string="Group By">
<filter string="Manager" name="Manager" context="{'group_by':'user_id'}"/>
<filter string="Contact" name="Partner" context="{'group_by':'partner_id'}"/>
</group>
</search>
</field>
</record>
<record id="view_project" model="ir.ui.view">
<field name="name">project.project.tree</field>
<field name="model">project.project</field>
<field name="arch" type="xml">
<tree decoration-bf="message_needaction==True" decoration-muted="active == False" string="Projects">
<field name="sequence" widget="handle"/>
<field name="message_needaction" invisible="1"/>
<field name="active" invisible="1"/>
<field name="name" string="Project Name"/>
<field name="user_id" string="Project Manager"/>
<field name="partner_id" string="Contact"/>
</tree>
</field>
</record>
<record id="project_view_kanban" model="ir.ui.view">
<field name="name">project.project.kanban</field>
<field name="model">project.project</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="user_id" string="Project Manager"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_content oe_kanban_global_click o_kanban_get_form">
<div class="row">
<div class="col-xs-12">
<strong><field name="name" string="Project Name"/></strong>
</div>
</div>
<div class="row">
<div class="col-xs-8">
<field name="partner_id" string="Contact"/>
</div>
<div class="col-xs-4">
<div class="oe_kanban_bottom_right">
<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"/>
</div>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="project_project_view_form_simplified" model="ir.ui.view">
<field name="name">project.project.view.form.simplified</field>
<field name="model">project.project</field>
<field name="arch" type="xml">
<form string="Project">
<sheet>
<group>
<group>
<field name="name" class="o_project_name oe_inline"
string="Project Name" placeholder="e.g. Office Party"/>
<label for="alias_name" string="Choose a Project Email" attrs="{'invisible': [('alias_domain', '=', False)]}"/>
<div name="alias_def" attrs="{'invisible': [('alias_domain', '=', False)]}">
<field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
</div>
<field name="user_id" invisible="1"/>
</group>
</group>
<footer>
<button string="Create" name="close_dialog" type="object" class="btn-primary"/>
<button string="Create &amp; Edit" name="edit_dialog" type="object" class="btn-primary"/>
<button string="Discard" class="btn-default" special="cancel"/>
</footer>
</sheet>
</form>
</field>
</record>
<record id="open_create_project" model="ir.actions.act_window">
<field name="name">Create a Project</field>
<field name="res_model">project.project</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="project_project_view_form_simplified"/>
<field name="target">new</field>
</record>
<record model="ir.ui.view" id="view_project_kanban">
<field name="name">project.project.kanban</field>
<field name="model">project.project</field>
<field name="arch" type="xml">
<kanban class="oe_background_grey o_kanban_dashboard o_project_kanban o_emphasize_colors" on_create="project.open_create_project">
<field name="name"/>
<field name="partner_id"/>
<field name="color"/>
<field name="task_count"/>
<field name="task_needaction_count"/>
<field name="label_tasks"/>
<field name="alias_id"/>
<field name="alias_name"/>
<field name="alias_domain"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click o_has_icon">
<div class="o_project_kanban_main">
<div class="o_kanban_card_content">
<div class="o_kanban_primary_left">
<div class="o_primary">
<span><t t-esc="record.name.value"/></span>
<span t-if="record.partner_id.value">
<strong><t t-esc="record.partner_id.value"/></strong>
</span>
</div>
<div t-if="record.alias_name.value and record.alias_domain.value">
<span><i class="fa fa-envelope"></i> <t t-esc="record.alias_id.value"/></span>
</div>
</div>
</div>
<div class="o_kanban_card_manage_pane" groups="project.group_project_manager">
<div class="o_kanban_card_manage_section o_kanban_manage_reports">
<div>
<a type="set_cover">Set Cover Image</a>
</div>
<div>
<a type="edit">Settings</a>
</div>
<div>
<a name="%(project.action_project_task_user_tree_filtered)d" type="action">Tasks</a>
</div>
</div>
<div class="o_project_kanban_colorpicker">
<ul class="oe_kanban_colorpicker" data-field="color"/>
</div>
</div>
<a class="o_kanban_manage_toggle_button o_left" href="#" groups="project.group_project_manager"><i class="fa fa-ellipsis-v" /></a>
<span class="o_right"><field name="is_favorite" widget="boolean_favorite" nolabel="1" force_save="1" /></span>
</div>
<div t-if="record.displayed_image_id.value">
<field name="displayed_image_id" widget="attachment_image"/>
</div>
<div class="o_project_kanban_boxes">
<a class="o_project_kanban_box" name="%(act_project_project_2_project_task_all)d" type="action">
<div>
<span class="o_value"><t t-esc="record.task_count.value"/></span>
<span class="o_label"><t t-esc="record.label_tasks.value"/></span>
<button t-if="record.task_needaction_count.raw_value" class="btn-link o_needaction" name="%(act_project_project_2_project_task_all)d" type="action" context="{'search_default_message_needaction': 1}">
<t t-esc="record.task_needaction_count.raw_value"/>
</button>
</div>
</a>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="ir_actions_server_project_sample" model="ir.actions.server">
<field name="name">Project: Activate Sample Project</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="state">code</field>
<field name="code">action = model.activate_sample_project()</field>
</record>
<record id="open_view_project_all" model="ir.actions.act_window">
<field name="name">Projects</field>
<field name="res_model">project.project</field>
<field name="view_type">form</field>
<field name="domain">[]</field>
<field name="view_mode">kanban,form</field>
<field name="view_id" ref="view_project_kanban"/>
<field name="search_view_id" ref="view_project_project_filter"/>
<field name="target">main</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new project.<br/>
<i>Or <a type="action" name="%(project.ir_actions_server_project_sample)d">activate a sample project</a> to play with.</i>
</p>
</field>
</record>
<record id="open_view_project_all_config" model="ir.actions.act_window">
<field name="name">Projects</field>
<field name="res_model">project.project</field>
<field name="view_type">form</field>
<field name="domain">[]</field>
<field name="view_mode">tree,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('view_project')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('project_view_kanban')})]"/>
<field name="search_view_id" ref="view_project_project_filter"/>
<field name="context">{}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Create a new project.
</p><p>
Organize your activities (plan tasks, track issues, invoice timesheets) for internal, personal or customer projects.
</p>
</field>
</record>
<!-- Task -->
<record id="view_task_form2" model="ir.ui.view">
<field name="name">project.task.form</field>
<field name="model">project.task</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form string="Task" class="o_form_project_tasks">
<header>
<button name="action_assign_to_me" string="Assign to Me" type="object" class="oe_highlight"
attrs="{'invisible' : [('user_id', '!=', False)]}"/>
<field name="stage_id" widget="statusbar" clickable="True"
options="{'fold_field': 'fold'}"/>
</header>
<sheet string="Task">
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" icon="fa-tasks" type="object" name="action_open_parent_task" string="Parent Task" attrs="{'invisible' : [('parent_id', '=', False)]}" groups="project.group_subtask_project"/>
<button name="action_subtask" type="object" class="oe_stat_button" icon="fa-tasks"
attrs="{'invisible' : [('parent_id', '!=', False)]}"
context="{'project_id': subtask_project_id, 'name': name, 'partner_id': partner_id}" groups="project.group_subtask_project">
<field string="Sub-tasks" name="subtask_count" widget="statinfo"/>
</button>
<button name="toggle_active" type="object" groups="base.group_user"
class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button"
options='{"terminology": "archive"}'/>
</button>
</div>
<field name="kanban_state" widget="state_selection"/>
<div class="oe_title">
<h1 class="o_row">
<field name="priority" widget="priority"/>
<field name="name" placeholder="Task Title..."/>
</h1>
</div>
<group>
<group>
<field name="project_id" domain="[('active', '=', True)]"/>
<field name="user_id"
class="o_task_user_field"
options='{"no_open": True}'/>
<field name="company_id"/>
<field name="start_date"/>
<field name="end_date"/>
<field name="actual_end_date"/>
<field name="legend_blocked" invisible="1"/>
<field name="legend_normal" invisible="1"/>
<field name="legend_done" invisible="1"/>
</group>
<group>
<field name="date_deadline"/>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
<field name="task_seq" readonly="1"/>
<field name="branch_id" groups="base_branch_company.group_multi_branch"/>
<field name="priority"/>
</group>
</group>
<notebook>
<page name="description_page" string="Description">
<field name="description" type="html"/>
<div class="oe_clear"/>
</page>
<page name="extra_info" string="Extra Info">
<group>
<group>
<field name="sequence" groups="base.group_no_one"/>
<field name="partner_id"/>
<field name="email_from"/>
<field name="email_cc" groups="base.group_no_one"/>
<field name="parent_id" groups="project.group_subtask_project"/>
<field name="child_ids" invisible="1" />
<field name="subtask_project_id" invisible="1" />
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
<field name="displayed_image_id" groups="base.group_no_one"/>
</group>
<group>
<field name="date_assign" groups="base.group_no_one"/>
<field name="date_last_stage_update" groups="base.group_no_one"/>
</group>
<group string="Working Time to Assign" attrs="{'invisible': [('working_hours_open', '=', 0.0)]}">
<field name="working_hours_open" string="Hours"/>
<field name="working_days_open" string="Days"/>
</group>
<group string="Working Time to Close" attrs="{'invisible': [('working_hours_close', '=', 0.0)]}">
<field name="working_hours_close" string="Hours"/>
<field name="working_days_close" string="Days"/>
</group>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<!-- Project Task Kanban View -->
<record model="ir.ui.view" id="view_task_kanban">
<field name="name">project.task.kanban</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<kanban default_group_by="stage_id" class="o_kanban_small_column o_kanban_project_tasks" on_create="quick_create">
<field name="color"/>
<field name="priority"/>
<field name="stage_id" options='{"group_by_tooltip": {"description": "Stage Description", "legend_priority": "Use of stars"}}'/>
<field name="user_id"/>
<field name="user_email"/>
<field name="description"/>
<field name="sequence"/>
<field name="remaining_hours" groups="project.group_time_work_estimation_tasks"/>
<field name="date_deadline"/>
<field name="message_needaction_counter"/>
<field name="attachment_ids"/>
<field name="displayed_image_id"/>
<field name="active"/>
<field name="legend_blocked"/>
<field name="legend_normal"/>
<field name="legend_done"/>
<field name="activity_ids"/>
<field name="activity_state"/>
<progressbar field="kanban_state" colors='{"done": "success", "blocked": "danger"}'/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
<div class="oe_kanban_content">
<div class="o_kanban_record_top">
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"><field name="name"/></strong><br/>
<small class="o_kanban_record_subtitle text-muted">
<field name="project_id" invisible="context.get('default_project_id', False)"/>
<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>
<span t-attf-class="#{red || ''}"><i><field name="date_deadline"/></i></span>
<t t-if="record.email_from.raw_value"><span><field name="email_from"/></span></t>
</small>
</div>
<div class="o_dropdown_kanban dropdown" groups="base.group_user">
<a class="dropdown-toggle btn" data-toggle="dropdown" href="#" >
<span class="fa fa-ellipsis-v" aria-hidden="true"/>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li t-if="widget.editable"><a type="set_cover">Set Cover Image</a></li>
<li t-if="widget.editable"><a type="edit">Edit Task</a></li>
<li t-if="widget.deletable"><a type="delete">Delete</a></li>
<li class="divider"></li>
<li class="dropdown-header">Record's Colour</li>
<li>
<ul class="oe_kanban_colorpicker" data-field="color"/>
</li>
</ul>
</div>
</div>
<div class="o_kanban_record_body">
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
<div t-if="record.displayed_image_id.value">
<field name="displayed_image_id" widget="attachment_image"/>
</div>
</div>
<div class="o_kanban_record_bottom">
<div class="oe_kanban_bottom_left">
<field name="priority" widget="priority"/>
<field name="activity_ids" widget="kanban_activity"/>
<t t-if="record.message_needaction_counter.raw_value">
<span class='oe_kanban_mail_new' title='Unread Messages'><i class='fa fa-comments'/><t t-raw="record.message_needaction_counter.raw_value"/></span>
</t>
</div>
<div class="oe_kanban_bottom_right">
<field name="kanban_state" widget="state_selection" groups="base.group_user"/>
<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"/>
</div>
</div>
</div>
<div class="oe_clear"></div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="view_task_tree2" model="ir.ui.view">
<field name="name">project.task.tree</field>
<field name="model">project.task</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<tree decoration-bf="message_needaction==True" decoration-danger="date_deadline and (date_deadline&lt;current_date)" string="Tasks">
<field name="message_needaction" invisible="1"/>
<field name="sequence" invisible="not context.get('seq_visible', False)"/>
<field name="name"/>
<field name="project_id" invisible="context.get('user_invisible', False)"/>
<field name="user_id" invisible="context.get('user_invisible', False)"/>
<field name="date_deadline" invisible="context.get('deadline_visible',True)"/>
<field name="stage_id" invisible="context.get('set_visible',False)"/>
</tree>
</field>
</record>
<record id="project_task_view_tree_activity" model="ir.ui.view">
<field name="name">project.task.tree.activity</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<tree string="Next Activities" decoration-danger="activity_date_deadline &lt; current_date" default_order="activity_date_deadline">
<field name="name"/>
<field name="project_id"/>
<field name="activity_date_deadline"/>
<field name="activity_type_id"/>
<field name="activity_summary"/>
<field name="stage_id"/>
</tree>
</field>
</record>
<record id="view_task_calendar" model="ir.ui.view">
<field name="name">project.task.calendar</field>
<field name="model">project.task</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<calendar date_start="date_deadline" string="Tasks" mode="month" color="user_id">
<field name="name"/>
</calendar>
</field>
</record>
<record id="view_project_task_pivot" model="ir.ui.view">
<field name="name">project.task.pivot</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<pivot string="Project Tasks">
<field name="project_id" type="row"/>
<field name="stage_id" type="col"/>
</pivot>
</field>
</record>
<record id="view_project_task_graph" model="ir.ui.view">
<field name="name">project.task.graph</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<graph string="Project Tasks">
<field name="project_id"/>
<field name="stage_id"/>
</graph>
</field>
</record>
<record id="view_project_task_gantt" model="ir.ui.view">
<field name="name">project.task.gantt</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<gantt date_start="date_start" date_stop="date_end" string="Tasks"/>
</field>
</record>
<record id="analytic_account_inherited_form" model="ir.ui.view">
<field name="name">account.analytic.account.form.inherit</field>
<field name="model">account.analytic.account</field>
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<xpath expr="//button[@name='toggle_active']" position="before">
<button class="oe_stat_button" type="object" name="projects_action"
icon="fa-puzzle-piece" attrs="{'invisible': [('project_count', '=', 0)]}">
<field string="Projects" name="project_count" widget="statinfo"/>
</button>
</xpath>
</field>
</record>
<record id="action_view_task" model="ir.actions.act_window">
<field name="name">Tasks</field>
<field name="res_model">project.task</field>
<field name="view_mode">kanban,tree,form,calendar,pivot,graph,gantt</field>
<field name="context">{'search_default_my_tasks': 1}</field>
<field name="search_view_id" ref="view_task_search_form"/>
<field name="help" type="html">
<p>
Flectra's project management allows you to manage the pipeline of your tasks efficiently. You can track progress, discuss on tasks, attach documents, etc.
</p>
</field>
</record>
<record id="open_view_task_list_kanban" model="ir.actions.act_window.view">
<field name="sequence" eval="0"/>
<field name="view_mode">kanban</field>
<field name="act_window_id" ref="action_view_task"/>
</record>
<record id="open_view_task_list_tree" model="ir.actions.act_window.view">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="act_window_id" ref="action_view_task"/>
</record>
<record id="project_task_action_activity" model="ir.actions.act_window">
<field name="name">My Next Activities</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,kanban,calendar</field>
<field name="view_id" ref="project_task_view_tree_activity"/>
<field name="context">{'search_default_activities_my':1}</field>
<field name="domain">[('activity_date_deadline', '!=', False)]</field>
<field name="help" type="html">
<p>
Currently there are not any activity scheduled.
</p>
</field>
</record>
<menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="5"/>
<record id="project_task_action_from_partner" model="ir.actions.act_window">
<field name="name">Tasks</field>
<field name="res_model">project.task</field>
<field name="view_mode">kanban,tree,form</field>
<field name="search_view_id" ref="view_task_search_form"/>
</record>
<menuitem id="project_task_menu_activity"
name="Next Activities"
parent="project.menu_project_management"
action="project_task_action_activity"
sequence="25"/>
<!-- Activity types config -->
<record id="mail_activity_type_action_config_project_types" model="ir.actions.act_window">
<field name="name">Activity Types</field>
<field name="res_model">mail.activity.type</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">['|', ('res_model_id', '=', False), ('res_model_id.model', '=', 'project.task')]</field>
</record>
<menuitem id="project_menu_config_activity_type"
action="mail_activity_type_action_config_project_types"
parent="menu_project_config"/>
<record id="action_view_task_overpassed_draft" model="ir.actions.act_window">
<field name="name">Overpassed Tasks</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph,kanban</field>
<field name="domain">[('date_deadline','&lt;',time.strftime('%Y-%m-%d'))]</field>
<field name="filter" eval="True"/>
<field name="search_view_id" ref="view_task_search_form"/>
</record>
<!-- Opening task when double clicking on project -->
<record id="dblc_proj" model="ir.actions.act_window">
<field name="res_model">project.task</field>
<field name="name">Project's tasks</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph,kanban</field>
<field name="domain">[('project_id', 'child_of', [active_id])]</field>
<field name="context">{'project_id':active_id}</field>
</record>
<!-- Task types -->
<record id="task_type_search" model="ir.ui.view">
<field name="name">project.task.type.search</field>
<field name="model">project.task.type</field>
<field name="arch" type="xml">
<search string="Tasks Stages">
<field name="name" string="Tasks Stages"/>
</search>
</field>
</record>
<record id="task_type_edit" model="ir.ui.view">
<field name="name">project.task.type.form</field>
<field name="model">project.task.type</field>
<field name="arch" type="xml">
<form string="Task Stage">
<sheet>
<group>
<group>
<field name="name"/>
<field name="mail_template_id"/>
</group>
<group>
<field name="fold"/>
<field name="project_ids" widget="many2many_tags" groups="base.group_no_one"/>
<field name="sequence" groups="base.group_no_one"/>
</group>
</group>
<group string="Stage Description and Tooltips">
<p class="text-muted" colspan="2">
At each stage employees can block or make task/issue ready for next stage.
You can define here labels that will be displayed for the state instead
of the default labels.
</p>
<label for="legend_normal" string=" " class="o_status oe_project_kanban_legend"/>
<field name="legend_normal" nolabel="1"/>
<label for="legend_blocked" string=" " class="o_status o_status_red oe_project_kanban_legend"/>
<field name="legend_blocked" nolabel="1"/>
<label for="legend_done" string=" " class="o_status o_status_green oe_project_kanban_legend"/>
<field name="legend_done" nolabel="1"/>
<p class="text-muted" colspan="2">
You can also give a tooltip about the use of the stars available in the kanban and form views.
</p>
<label for="legend_priority" string=" " class="fa fa-star fa-lg o_star_on oe_project_kanban_legend"/>
<field name="legend_priority" nolabel="1"/>
<p class="text-muted" colspan="2">
You can also add a description to help your coworkers understand the meaning and purpose of the stage.
</p>
<field name="description" placeholder="Add a description..." nolabel="1" colspan="2"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="task_type_tree" model="ir.ui.view">
<field name="name">project.task.type.tree</field>
<field name="model">project.task.type</field>
<field name="arch" type="xml">
<tree string="Task Stage">
<field name="sequence" widget="handle" groups="base.group_no_one"/>
<field name="name"/>
<field name="fold"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="view_project_task_type_kanban" model="ir.ui.view">
<field name="name">project.task.type.kanban</field>
<field name="model">project.task.type</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="name"/>
<field name="fold"/>
<field name="description"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div class="row">
<div class="col-xs-12">
<strong><t t-esc="record.name.value"/></strong>
</div>
</div>
<t t-if="record.description.value">
<hr class="mt8 mb8"/>
<t t-esc="record.description.value"/>
</t>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="open_task_type_form" model="ir.actions.act_window">
<field name="name">Stages</field>
<field name="res_model">project.task.type</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
<field name="view_id" ref="task_type_tree"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a stage in the task pipeline.
</p><p>
Define the steps that will be used in the project from the
creation of the task, up to the closing of the task or issue.
You will use these stages in order to track the progress in
solving a task or an issue.
</p>
</field>
</record>
<menuitem id="menu_tasks_config" name="GTD" parent="menu_project_config" sequence="2"/>
<menuitem action="open_task_type_form" id="menu_project_config_project" name="Stages" parent="menu_project_config" sequence="3" groups="base.group_no_one"/>
<menuitem action="open_view_project_all" id="menu_projects" name="Dashboard" parent="menu_main_pm" sequence="1"/>
<menuitem action="open_view_project_all_config" id="menu_projects_config" name="Projects" parent="menu_project_config" sequence="10"/>
<!-- User Form -->
<act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}"
id="act_res_users_2_project_task_opened" name="Assigned Tasks"
res_model="project.task" src_model="res.users" view_mode="tree,form,calendar,graph" view_type="form"/>
<!-- Tags -->
<record model="ir.ui.view" id="project_tags_search_view">
<field name="name">Tags</field>
<field name="model">project.tags</field>
<field name="arch" type="xml">
<search string="Issue Version">
<field name="name"/>
</search>
</field>
</record>
<record model="ir.ui.view" id="project_tags_form_view">
<field name="name">Tags</field>
<field name="model">project.tags</field>
<field name="arch" type="xml">
<form string="Tags">
<group>
<field name="name"/>
</group>
</form>
</field>
</record>
<record id="project_tags_action" model="ir.actions.act_window">
<field name="name">Tags</field>
<field name="res_model">project.tags</field>
<field name="view_type">form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new tag.
</p>
</field>
</record>
<menuitem action="project_tags_action" id="menu_project_tags_act" parent="menu_project_config" groups="base.group_no_one"/>
<!-- Reporting menus -->
<menuitem id="menu_project_report" name="Reporting"
groups="project.group_project_manager"
parent="menu_main_pm" sequence="99"/>
<menuitem id="menu_project_report_task_analysis"
name="Tasks Analysis"
action="project.action_project_task_user_tree"
parent="menu_project_report"
sequence="10"/>
<!-- Priority Tasks Kanban -->
<record id="view_priority_task_kanban" model="ir.ui.view">
<field name="name">project.task.kanban</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<kanban class="o_kanban_small_column o_opportunity_kanban">
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
<div class="row">
<div class="col-xs-12">
<span style="font-weight:bold;">
<field name="name"/>
</span>
</div>
</div>
<div class="row">
<div class="col-xs-6">
<span>
<field name="user_id"/>
<br/>
<field name="date_deadline"/>
<br/>
<field name="branch_id" groups="base_branch_company.group_multi_branch"/>
<br/>
</span>
</div>
</div>
<div class="oe_kanban_bottom_right">
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)"
t-att-title="record.user_id.value" width="25" height="25"
class="oe_kanban_avatar pull-right"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!-- Priority tasks Search view -->
<record id="view_priority_tasks_search" model="ir.ui.view">
<field name="name">project.task.search</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
<search string="Priority Tasks">
<field name="name"/>
<field name="user_id"/>
<field name="project_id"/>
<field name="company_id"/>
<filter string="Low" domain="[('priority', '=', 'l')]"/>
<filter string="Medium" domain="[('priority', '=', 'm')]"/>
<filter string="High" domain="[('priority', '=', 'h')]"/>
<group expand="1" string="Group By">
<filter string="Priority" name="priority" context="{'group_by': 'priority'}"/>
<filter string="Assigned To" name='user_id' context="{'group_by': 'user_id'}"/>
<filter string="Stage" name='stage_id' context="{'group_by': 'stage_id'}"/>
</group>
</search>
</field>
</record>
<!-- Priority Tasks Action -->
<record id="action_priority_tasks" model="ir.actions.act_window">
<field name="name">Priority Tasks</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">project.task</field>
<field name="view_mode">kanban,form,tree</field>
<field name="view_id" ref="view_priority_task_kanban"/>
<field name="search_view_id" ref="view_priority_tasks_search"/>
<field name="context">{'search_default_priority': 1}</field>
</record>
<!-- Priority Tasks Menu -->
<menuitem
id="menu_priority_tasks"
parent="project.menu_project_management"
action="action_priority_tasks"
sequence="4"
/>
</flectra>