summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérome Maes <jem@openerp.com>2015-02-03 13:40:30 +0100
committerJérome Maes <jem@openerp.com>2015-02-04 15:24:48 +0100
commit68cc737247bcfb9737d8a428a72c99ca067bf593 (patch)
treeeda35fd4568479f365700b44aa3105abb5e60d30
parent803778d9b47e0f89c5d88e438e32658a9e1e0b19 (diff)
[IMP] project, project_issue, project_timesheet, rating_project : refactoring of the kanban project. Now using bootstrap, and better disposition of module elements.
-rw-r--r--addons/project/project_view.xml54
-rw-r--r--addons/project/static/src/css/project.css18
-rw-r--r--addons/project_issue/project_issue_view.xml22
-rw-r--r--addons/project_timesheet/project_timesheet_view.xml6
-rw-r--r--addons/rating_project/views/project_view.xml14
5 files changed, 61 insertions, 53 deletions
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index b71b4ee4749..9b24444a34b 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -272,35 +272,49 @@
</div>
<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>
+ <h4 class="text-center">
+ <field name="name"/>
+ </h4>
+ <div t-if="record.alias_name.value and record.alias_domain.value" class="text-center text-muted">
+ <small>
+ <i class="fa fa-envelope-o"></i> <field name="alias_id"/>
+ </small>
</div>
</div>
<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;">
+ <div class="col-md-6">
+ <a t-if="record.use_tasks.raw_value" class="oe_sparkline_bar_link" name="%(act_project_project_2_project_task_all)d" type="action">
+ <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>
+ <div t-if="record.use_tasks.raw_value and record.task_count.raw_value lt 1" class="col-md-12">
<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="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 class="row oe_margin_top_8 oe_kanban_project_infos">
+ <div class="col-md-6">
+ <a t-if="record.doc_count.raw_value" name="attachment_tree_view" type="object">
+ <field name="doc_count"/> Documents
+ </a>
+ </div>
+ <div class="col-md-6">
+ <span groups="project.group_time_work_estimation_tasks">
+ <i class="fa fa-clock-o"/>
+ <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"/>
+ </span>
+ </div>
</div>
- <div class="row oe_margin_top_8 oe_kanban_footer_left">
- <span groups="project.group_time_work_estimation_tasks">
- <i class="fa fa-clock-o"/>
- <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"/>
- </span>
- <span t-if="record.date.raw_value">
+ <div class="row oe_margin_top_8 oe_kanban_project_tags">
+ <h5 t-if="record.date.raw_value" class="label label-default">
<i class="fa fa-calendar"/>
<field name="date"/>
- </span>
+ </h5>
</div>
<div class="row oe_margin_top_8 oe_kanban_project_avatars">
<t t-foreach="record.members.raw_value.slice(0,11)" t-as="member">
@@ -553,7 +567,7 @@
<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>
diff --git a/addons/project/static/src/css/project.css b/addons/project/static/src/css/project.css
index 838966f46fe..397c8c870e7 100644
--- a/addons/project/static/src/css/project.css
+++ b/addons/project/static/src/css/project.css
@@ -1,8 +1,3 @@
-.oe_kanban_project {
- width: 220px;
- min-height: 160px;
-}
-
.oe_kanban_project_avatars img {
width: 30px;
border-radius: 2px;
@@ -21,7 +16,7 @@
.openerp .oe_kanban_view .oe_kanban_project_task_spark {
/* Customize width and height of kanban according bootstrap3 */
- width: 265px;
+ width: 290px;
min-height: 120px;
/* End of customize */
cursor: default;
@@ -40,14 +35,15 @@
.openerp .oe_margin_top_8 {
margin-top: 8px;
}
-
+.openerp .oe_kanban_project .oe_kanban_project_tags{
+ text-align: right;
+}
+.openerp .oe_kanban_project .oe_kanban_project_tags .label{
+ margin: 3px 2px;
+}
.openerp label.oe_project_kanban_legend {
min-width: inherit !important;
margin-top: 6px;
margin-right: 8px;
}
-
-.openerp .oe_project_kanban_content .oe_kanban_footer_left .fa {
- visible: inline-block;
-}
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index ca2a6f86234..7214f7222be 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -349,17 +349,19 @@
<field name="use_issues"/>
<field name="issue_ids" invisible="1"/>
</field>
- <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]/a" position="after">
- <a t-if="record.use_issues.raw_value" style="margin-right: 20px" class="pull-right"
- name="%(act_project_project_2_project_issue_all)d" type="action">
- <t t-raw="record.issue_ids.raw_value.length"/> <field name="label_issues"/>
- <field name="monthly_issues" widget="sparkline_bar" options="{'delayIn': '1000'}">
- Closed Issues
- </field>
- </a>
+ <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]/div" position="after">
+ <div class="col-md-6">
+ <a t-if="record.use_issues.raw_value" name="%(act_project_project_2_project_issue_all)d" type="action">
+ <t t-raw="record.issue_ids.raw_value.length"/>
+ <field name="label_issues"/>
+ <field name="monthly_issues" widget="sparkline_bar" options="{'delayIn': '1000'}">
+ Closed Issues
+ </field>
+ </a>
+ </div>
</xpath>
- <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]/div" position="replace">
- <div t-if="!(record.use_tasks.raw_value and record.task_count.raw_value gt 0) and !(record.use_issues.raw_value and record.issue_ids.raw_value.length gt 0)" style="margin-top: 6px;margin-left:20px;">
+ <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]/div[contains(@class, 'col-md-12')]" position="replace">
+ <div t-if="!(record.use_tasks.raw_value and record.task_count.raw_value gt 0) and !(record.use_issues.raw_value and record.issue_ids.raw_value.length gt 0)" class="col-md-12">
<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>
diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml
index b0ec93b64f0..87cfa3e1141 100644
--- a/addons/project_timesheet/project_timesheet_view.xml
+++ b/addons/project_timesheet/project_timesheet_view.xml
@@ -13,9 +13,11 @@
<field name="currency_id"/>
<field name="partner_id"/>
</field>
- <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]/a" position="after">
- <a t-if="record.invoice_on_timesheets.raw_value" style="margin-right: 10px"
+ <xpath expr="//div[contains(@class, 'oe_kanban_project_infos')]/div" position="after">
+ <div class="col-md-6">
+ <a t-if="record.invoice_on_timesheets.raw_value" style="margin-right: 10px"
name="open_timesheets" type="object"><field name="hours_quantity"/> Hours</a>
+ </div>
</xpath>
</field>
</record>
diff --git a/addons/rating_project/views/project_view.xml b/addons/rating_project/views/project_view.xml
index 74fe8392135..66a913f2de4 100644
--- a/addons/rating_project/views/project_view.xml
+++ b/addons/rating_project/views/project_view.xml
@@ -42,18 +42,12 @@
<field name="percentage_satisfaction_project" invisible="1"/>
<field name="is_visible_happy_customer" invisible="1"/>
</field>
- <xpath expr="//div[contains(@class, 'oe_kanban_project_list')]" position="after">
- <div class="row oe_margin_top_8 oe_kanban_project_list">
+ <xpath expr="//div[contains(@class, 'oe_kanban_project_tags')]" position="inside">
<a t-if="record.is_visible_happy_customer.raw_value and record.percentage_satisfaction_project.raw_value &gt; -1" name="action_view_all_rating" type="object" title="Percentage of happy people about this project">
- <img t-if="record.percentage_satisfaction_project.raw_value &gt;= 0 and record.percentage_satisfaction_project.raw_value &lt;= 30" class="rating" src="rating/static/src/img/rating_0.png" style="width:10%;height:10%"></img>
- <img t-if="record.percentage_satisfaction_project.raw_value &gt; 30 and record.percentage_satisfaction_project.raw_value &lt;= 69" class="rating" src="rating/static/src/img/rating_5.png" style="width:10%;height:10%"></img>
- <img t-if="record.percentage_satisfaction_project.raw_value &gt;= 70" class="rating" src="rating/static/src/img/rating_10.png" style="width:10%;height:10%"></img>
- <img t-if="record.percentage_satisfaction_project.raw_value &lt; 0" class="rating" src="rating/static/src/img/rating_-1.png" style="width:10%;height:10%"></img>
- <t t-if="record.percentage_satisfaction_project.raw_value &gt;= 0">
- <t t-raw="record.percentage_satisfaction_project.raw_value"/> %
- </t>
+ <h5 t-attf-class="label #{record.percentage_satisfaction_project.raw_value &gt;= 50 ? 'label-success' : 'label-warning'}">
+ <i t-attf-class="fa #{record.percentage_satisfaction_project.raw_value &gt;= 50 ? 'fa-smile-o' : 'fa-frown-o'}"/> <t t-raw="record.percentage_satisfaction_project.raw_value"/> %
+ </h5>
</a>
- </div>
</xpath>
</field>
</record>