<h1>
<field name="name" string="Project Name"/>
</h1>
- <div name="options_active" invisible="1">
- <field name="use_tasks" class="oe_inline"/>
- <label for="use_tasks" name="use_task"/>
+ <div name="options_active">
+ <div>
+ <field name="use_tasks" class="oe_inline" string="Use Tasks"/>
+ <label for="use_tasks" class="oe_inline"/> as <field name="label_tasks" class="oe_inline"/>
+ </div>
</div>
</div>
<div class="oe_right oe_button_box" name="buttons" groups="base.group_user">
<button class="oe_inline oe_stat_button" type="action" attrs="{'invisible':[('use_tasks','=', 0)]}"
name="%(act_project_project_2_project_task_all)d" icon="fa-tasks">
- <field string="Tasks" name="task_count" widget="statinfo"/>
+ <field string="Tasks" name="task_count" widget="statinfo" options="{'label_field': 'label_tasks'}"/>
</button>
<button class="oe_inline oe_stat_button" name="attachment_tree_view" type="object" icon="fa-files-o">
<field string="Documents" name="doc_count" widget="statinfo"/>
attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"
context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_manager']}"/>
<newline/>
- <field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
+ <field name="partner_id" on_change="onchange_partner_id(partner_id)" string="Customer"/>
</group>
<group name="group_alias"
attrs="{'invisible': [('alias_domain', '=', False)]}">
groups="project.group_time_work_estimation_tasks"/>
</group>
<group name="misc">
- <field name="date_start"/>
+ <field name="date_start" string="Start Date"/>
<field name="date" string="End Date"/>
<field name="sequence" groups="base.group_no_one"/>
<field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
<field name="doc_count"/>
<templates>
<t t-name="kanban-box">
- <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_global_click">
+ <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">
<div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
- <span class="oe_e">í</span>
+ <span class="oe_e">i</span>
<ul class="oe_dropdown_menu">
- <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Project Settings</a></li></t>
+ <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit Project</a></li></t>
<t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</ul>
</div>
- <div class="oe_kanban_content">
- <h4 class="text-center"><strong><field name="name"/></strong></h4>
- <div class="text-center oe_kanban_alias" t-if="record.alias_name.value and record.alias_domain.value">
- <small><i class="fa fa-envelope-o"></i> <field name="alias_id"/></small>
+ <div class="oe_project_kanban_content">
+ <div class="row">
+ <h4 class="text-center"><strong><field name="name"/></strong></h4>
+ <div class="text-center oe_kanban_alias" t-if="record.alias_name.value and record.alias_domain.value">
+ <small><i class="fa fa-envelope-o"></i> <field name="alias_id"/></small>
+ </div>
</div>
- <div class="oe_kanban_project_list">
- <a t-if="record.use_tasks.raw_value" name="%(act_project_project_2_project_task_all)d" type="action" style="margin-right: 10px">
- <t t-raw="record.task_ids.raw_value.length"/> Tasks
+ <div class="row oe_margin_top_8 oe_kanban_project_list">
+ <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">
+ <t t-raw="record.task_ids.raw_value.length" /> <field name="label_tasks"/>
+ <field name="monthly_tasks" widget="sparkline_bar" options="{'delayIn': '1000'}">
+ Created Tasks
+ </field>
</a>
<div t-if="record.use_tasks.raw_value and record.task_count.raw_value lt 1" style="margin-top: 6px;margin-left:20px;">
<img src="/project/static/src/img/top_left_arrow.png" style="margin-top: -8px; width: 22px;" />
<span>No activity yet, click to enter in the project.</span>
</div>
</div>
- <div class="oe_kanban_project_list">
+ <div class="row oe_margin_top_8 oe_kanban_project_list">
<a t-if="record.doc_count.raw_value" name="attachment_tree_view" type="object" style="margin-right: 10px"> <field name="doc_count"/> Documents</a>
</div>
- <div class="oe_kanban_footer_left">
+ <div class="row oe_margin_top_8 oe_kanban_footer_left">
<span groups="project.group_time_work_estimation_tasks">
<span class="oe_e">R</span>
<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"/>
<field name="date"/>
</span>
</div>
- <div class="oe_kanban_project_avatars">
+ <div class="row oe_margin_top_8 oe_kanban_project_avatars">
<t t-foreach="record.members.raw_value.slice(0,11)" t-as="member">
<img t-att-src="kanban_image('res.users', 'image_small', member)" t-att-data-member_id="member"/>
</t>
options="{'fold_field': 'fold'}"/>
</header>
<sheet string="Task">
- <div class="oe_right">
- <field name="kanban_state" class="oe_inline" widget="kanban_state_selection"/>
+ <div class="row">
+ <h1 class="col-xs-11">
+ <field class="oe_inline oe_left" name="priority" widget="priority"/>
+ <field name="name" placeholder="Task summary..." class="oe_inline"/>
+ </h1>
+ <div class="col-xs-1 text-right">
+ <field name="kanban_state" class="oe_inline" widget="kanban_state_selection"
+ options='{
+ "states_legend_field": "stage_id",
+ "states_legend": {"normal": "legend_normal", "blocked": "legend_blocked", "done": "legend_done"}}'/>
+ </div>
</div>
- <h1>
- <field name="name" placeholder="Task summary..." class="oe_inline"/>
- </h1>
<group>
<group>
<field name="project_id" domain="[('state','not in', ('close', 'cancelled'))]" on_change="onchange_project(project_id)" context="{'default_use_tasks':1}"/>
</group>
<notebook>
<page string="Description">
- <field name="description" placeholder="Add a Description..."/>
+ <field name="description" type="html"/>
<field name="work_ids" groups="project.group_tasks_work_on_tasks">
<tree string="Task Work" editable="top">
<field name="name"/>
</page>
<page string="Extra Info">
<group col="4">
- <field name="priority" groups="base.group_user" widget="priority"/>
<field name="sequence" groups="base.group_no_one"/>
<field name="partner_id"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="name">project.task.kanban</field>
<field name="model">project.task</field>
<field name="arch" type="xml">
- <kanban default_group_by="stage_id" >
+ <kanban default_group_by="stage_id">
<field name="color"/>
<field name="priority"/>
- <field name="stage_id"/>
+ <field name="stage_id" options='{"group_by_tooltip": {"description": "Description", "legend_priority": "Use of stars"}}'/>
<field name="user_id"/>
<field name="user_email"/>
<field name="description"/>
<field name="sequence"/>
- <field name="kanban_state"/>
<field name="remaining_hours" sum="Remaining Time" groups="project.group_time_work_estimation_tasks"/>
<field name="date_deadline"/>
<field name="message_summary"/>
<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_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
- <span class="oe_e">í</span>
+ <span class="oe_e">i</span>
<ul class="oe_dropdown_menu">
- <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit...</a></li></t>
+ <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit Task</a></li></t>
<t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
<li>
<ul class="oe_kanban_project_times" groups="project.group_time_work_estimation_tasks">
<div class="oe_kanban_content">
<div><b><field name="name"/></b></div>
<div>
- <field name="project_id"/><br/>
+ <field name="project_id" invisible="context.get('default_project_id', False)"/><br/>
<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>
</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="24" height="24" class="oe_kanban_avatar pull-right"/>
<div class="pull-left" groups="base.group_user">
- <field name="kanban_state" widget="kanban_state_selection"/>
+ <field name="kanban_state" widget="kanban_state_selection"
+ options='{"states_legend": {"normal": "legend_normal", "blocked": "legend_blocked", "done": "legend_done"}}'/>
<field name="priority" widget="priority"/>
</div>
</div>
<field name="arch" type="xml">
<graph string="Project Tasks" type="bar">
<field name="project_id" type="row"/>
+ <field name="stage_id" type="row"/>
</graph>
</field>
</record>
<group>
<field name="name"/>
<field name="sequence"/>
- </group>
- <group>
<field name="case_default"/>
<field name="fold"/>
</group>
+ <group>
+ <field name="legend_blocked"/>
+ <field name="legend_done"/>
+ <field name="legend_normal"/>
+ <field name="legend_priority"/>
+ </group>
</group>
<field name="description" placeholder="Add a description..."/>
</form>