[IMP] hr, hr_*, project, sale, sales_team, stock: in dashboards, add color picker, add domains on reports and style improvements

This commit is contained in:
Martin Geubelle
2015-05-22 17:54:34 +02:00
parent a393fb6090
commit a3f3a0db68
29 changed files with 308 additions and 201 deletions
+8 -2
View File
@@ -46,8 +46,14 @@
</div>
</div>
</div>
<div t-if="widget.view.is_action_enabled('edit')" class="row o_kanban_card_manage_settings">
<a type="edit">Settings</a>
<div t-if="widget.view.is_action_enabled('edit')" class="o_kanban_card_manage_settings row">
<div class="col-xs-8">
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</div>
<div class="col-xs-4 text-right">
<a type="edit">Settings</a>
</div>
</div>
</div>
+4 -4
View File
@@ -1,7 +1,7 @@
.o_hr_kanban {
.oe_kanban_view.o_kanban_dashboard.o_hr_kanban {
.oe_kanban_record {
max-width: 500px !important;
min-width: 400px !important;
min-height: 200px !important;
max-width: 500px;
min-width: 400px;
min-height: 200px;
}
}
+1
View File
@@ -79,6 +79,7 @@ class hr_attendance(osv.osv):
'action': fields.selection([('sign_in', 'Sign In'), ('sign_out', 'Sign Out'), ('action','Action')], 'Action', required=True),
'action_desc': fields.many2one("hr.action.reason", "Action Reason", domain="[('action_type', '=', action)]", help='Specifies the reason for Signing In/Signing Out in case of extra hours.'),
'employee_id': fields.many2one('hr.employee', "Employee", required=True, select=True),
'department_id': fields.many2one('hr.department', "Department", related="employee_id.department_id"),
'worked_hours': fields.function(_worked_hours_compute, type='float', string='Worked Hours', store=True),
}
_defaults = {
@@ -51,6 +51,7 @@
<search string="Hr Attendance Search">
<field name="name" string="Attendance"/>
<field name="action"/>
<field name="department_id"/>
<filter string="Today" name="today" domain="[('name','&gt;=',datetime.datetime.now().replace(hour=0, minute=0, second=0)),('name','&lt;=',datetime.datetime.now().replace(hour=23, minute=59, second=59))]" />
<filter string="Current Month" domain="[('name','&gt;=', datetime.datetime.now().strftime('%Y-%m-01'))]" />
<separator/>
@@ -107,6 +108,18 @@
<field name="view_id"></field> <!-- force empty -->
</record>
<record id="action_hr_attendance_graph_filtered" model="ir.actions.act_window">
<field name="name">Attendance Analysis</field>
<field name="res_model">hr.attendance</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="context">{
'search_default_department_id': [active_id],
'default_department_id': active_id}
</field>
<field name="view_id"></field> <!-- force empty -->
</record>
<menuitem id="timesheet_menu_root" name="Timesheets" sequence="10" icon="fa-user" groups="base.group_user,base.group_hr_user,base.group_hr_manager"/>
<menuitem id="menu_hr_time_tracking" name="Time Tracking" parent="timesheet_menu_root" sequence="5" />
+1 -1
View File
@@ -10,7 +10,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div class="row">
<div class="col-xs-12 text-left">
<a name="%(action_hr_attendance_graph)d" type="action">
<a name="%(action_hr_attendance_graph_filtered)d" type="action">
Attendances
</a>
</div>
+1 -1
View File
@@ -55,7 +55,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div class="row">
<div class="col-xs-12 text-left">
<a name="%(action_evaluation_report_all)d" type="action">
<a name="%(action_evaluation_report_filtered)d" type="action">
Appraisals
</a>
</div>
@@ -63,6 +63,22 @@
<field name="search_view_id" ref="view_evaluation_report_search"/>
</record>
<record id="action_evaluation_report_filtered" model="ir.actions.act_window">
<field name="name">Appraisal Analysis</field>
<field name="res_model">hr.evaluation.report</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="context">{
'search_default_year':1,
'search_default_month':1,
'search_default_employee':1,
'search_default_department_id': [active_id],
'default_department_id': active_id
}
</field>
<field name="search_view_id" ref="view_evaluation_report_search"/>
</record>
<record model="ir.actions.act_window.view" id="action_evaluation_view_report_pivot">
<field name="sequence" eval="2"/>
<field name="view_mode">pivot</field>
+1 -1
View File
@@ -36,7 +36,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div class="row">
<div class="col-xs-12 text-left">
<a name="%(action_hr_expense_report_all)d" type="action">
<a name="%(action_hr_expense_report_filtered)d" type="action">
Expenses
</a>
</div>
@@ -67,6 +67,21 @@
<field name="search_view_id" ref="view_hr_expense_report_search"/>
</record>
<record id="action_hr_expense_report_filtered" model="ir.actions.act_window">
<field name="name">Expenses Analysis</field>
<field name="res_model">hr.expense.report</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="context">{
'search_default_year':1,
'search_default_month':1,
'search_default_employee':1,
'search_default_department_id': [active_id],
'default_department_id': active_id}
</field>
<field name="search_view_id" ref="view_hr_expense_report_search"/>
</record>
<menuitem action="action_hr_expense_report_all" id="menu_hr_expense_analysis" parent="menu_hr_expense_report" sequence="1"/>
</data>
+2 -2
View File
@@ -38,7 +38,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="after">
<div class="col-xs-12 o_kanban_primary_bottom">
<field name="absence_of_today" widget="progress" options="{'title': 'Absence', 'current_value': 'absence_of_today', 'max_value': 'total_employee'}"/>
<field name="absence_of_today" widget="progress" options="{'title': 'Absence', 'current_value': 'absence_of_today', 'max_value': 'total_employee', 'editable': false}"/>
</div>
</xpath>
@@ -63,7 +63,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div class="row">
<div class="col-xs-12 text-left">
<a name="%(action_hr_holidays_leaves_analysis)d" type="action">
<a name="%(action_hr_holidays_leaves_analysis_filtered)d" type="action">
Leaves
</a>
</div>
+13
View File
@@ -702,5 +702,18 @@
<field name="search_view_id" ref="view_hr_holidays_filter"/>
</record>
<record model="ir.actions.act_window" id="action_hr_holidays_leaves_analysis_filtered">
<field name="name">Leaves Analysis</field>
<field name="res_model">hr.holidays</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="domain">[('holiday_type','=','employee')]</field>
<field name="context">{
'search_default_department_id': [active_id],
'default_department_id': active_id}
</field>
<field name="search_view_id" ref="view_hr_holidays_filter"/>
</record>
</data>
</openerp>
+1 -1
View File
@@ -38,7 +38,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div class="row">
<div class="col-xs-12 text-left">
<a name="%(action_hr_recruitment_report_all)d" type="action">
<a name="%(action_hr_recruitment_report_filtered_department)d" type="action">
Recruitments
</a>
</div>
@@ -1,6 +1,6 @@
<odoo>
<record model="ir.actions.act_window" id="action_hr_job_new_application">
<record model="ir.actions.act_window" id="action_hr_job_new_application">
<field name="name">New Application</field>
<field name="res_model">hr.applicant</field>
<field name="view_type">form</field>
@@ -43,49 +43,49 @@
</div>
</div>
<div class="container o_kanban_card_content o_visible">
<t t-if="record.state.raw_value == 'recruit'">
<div class="row">
<div class="col-xs-6 o_kanban_primary_left">
<button class="btn btn-primary" name="%(action_hr_job_applications)d" type="action"><t t-esc="record.application_ids.raw_value.length"/> Application(s)</button>
</div>
<div class="col-xs-6 o_kanban_primary_right">
<div t-if="record.document_ids.raw_value.length > 0" class="row">
<div class="col-xs-9">
<a name="action_get_attachment_tree_view" type="object">
Document(s)
</a>
</div>
<div class="col-xs-3">
<span><t t-esc="record.document_ids.raw_value.length"/></span>
</div>
</div>
<t t-if="record.state.raw_value == 'recruit'">
<div class="row">
<div class="col-xs-6 o_kanban_primary_left">
<button class="btn btn-primary" name="%(action_hr_job_applications)d" type="action"><t t-esc="record.application_ids.raw_value.length"/> Application(s)</button>
</div>
<div class="col-xs-6 o_kanban_primary_right">
<div t-if="record.document_ids.raw_value.length > 0" class="row">
<div class="col-xs-9">
<a name="action_get_attachment_tree_view" type="object">
Document(s)
</a>
</div>
<div class="col-xs-3">
<span><t t-esc="record.document_ids.raw_value.length"/></span>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<a t-if="record.survey_id.raw_value" name="action_print_survey" type="object" class="oe_kanban_action">Print Interview</a>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<a t-if="record.survey_id.raw_value" name="action_print_survey" type="object" class="oe_kanban_action">Print Interview</a>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<a t-if="record.state.raw_value == 'recruit'" name="job_open" type="object">Recruitment Done</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 o_kanban_primary_bottom">
<field name="no_of_hired_employee" widget="progress" options="{'title': 'Hired Employees:', 'current_value': 'no_of_hired_employee', 'max_value': 'no_of_recruitment', 'editable': true, 'edit_max_value': true, 'on_change': 'action_set_no_of_recruitment'}"/>
</div>
</div>
</t>
<t t-if="record.state.raw_value == 'open'">
<div class="row">
<div class="col-xs-12 o_kanban_primary_left">
<button class="btn btn-primary" name="job_recruitment" type="object">Start Recruitment</button>
</div>
</div>
</t>
<div class="row">
<div class="col-xs-12">
<a t-if="record.state.raw_value == 'recruit'" name="job_open" type="object">Recruitment Done</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 o_kanban_primary_bottom">
<field name="no_of_hired_employee" widget="progress" options="{'title': 'Hired Employees', 'current_value': 'no_of_hired_employee', 'max_value': 'no_of_recruitment', 'editable': true, 'edit_max_value': true, 'on_change': 'action_set_no_of_recruitment'}"/>
</div>
</div>
</t>
<t t-if="record.state.raw_value == 'open'">
<div class="row">
<div class="col-xs-12 o_kanban_primary_left">
<button class="btn btn-primary" name="job_recruitment" type="object">Start Recruitment</button>
</div>
</div>
</t>
</div><div class="container o_kanban_card_manage_pane o_invisible">
<div class="row">
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_view">
@@ -94,13 +94,13 @@
</div>
<div>
<a name="%(action_hr_job_applications)d" type="action">Applications</a>
<a name="%(action_hr_job_applications)d" type="action">Applications</a>
</div>
<div>
<a name="action_get_attachment_tree_view" type="object">Documents</a>
<a name="action_get_attachment_tree_view" type="object">Documents</a>
</div>
<div>
<a name="action_print_survey" type="object">Print Interview</a>
<a name="action_print_survey" type="object">Print Interview</a>
</div>
</div>
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_new">
@@ -109,7 +109,7 @@
</div>
<div>
<a name="%(action_hr_job_new_application)d" type="action">Application</a>
<a name="%(action_hr_job_new_application)d" type="action">Application</a>
</div>
</div>
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_reports">
@@ -118,7 +118,7 @@
</div>
<div>
<a name="%(action_hr_recruitment_report_all)d" type="action">Recruitment</a>
<a name="%(action_hr_recruitment_report_filtered_job)d" type="action">Recruitment</a>
</div>
</div>
</div>
@@ -85,6 +85,30 @@
<field name="search_view_id" ref="view_hr_recruitment_report_search"/>
<field name="context">{}</field> <!-- force empty -->
</record>
<record id="action_hr_recruitment_report_filtered_department" model="ir.actions.act_window">
<field name="name">Recruitment Analysis</field>
<field name="res_model">hr.recruitment.report</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="search_view_id" ref="view_hr_recruitment_report_search"/>
<field name="context">{
'search_default_department_id': [active_id],
'default_department_id': active_id}
</field>
</record>
<record id="action_hr_recruitment_report_filtered_job" model="ir.actions.act_window">
<field name="name">Recruitment Analysis</field>
<field name="res_model">hr.recruitment.report</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="search_view_id" ref="view_hr_recruitment_report_search"/>
<field name="context">{
'search_default_job_id': [active_id],
'default_job_id': active_id}
</field>
</record>
<menuitem action="action_hr_recruitment_report_all" id="menu_hr_recruitment_report_all" parent="report_hr_recruitment" sequence="0"/>
</data>
+1 -1
View File
@@ -10,7 +10,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div class="row">
<div class="col-xs-12 text-left">
<a name="%(action_hr_timesheet_report_stat_all)d" type="action">
<a name="%(action_hr_timesheet_report_stat_filtered)d" type="action">
Timesheets
</a>
</div>
@@ -59,6 +59,17 @@
<field name="context">{}</field> <!-- force empty -->
</record>
<record id="action_hr_timesheet_report_stat_filtered" model="ir.actions.act_window">
<field name="name">Timesheet Analysis</field>
<field name="res_model">hr.timesheet.report</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="context">{
'search_default_department_id': [active_id],
'default_department_id': active_id}
</field>
</record>
<menuitem id="menu_timesheets_reports" name="Reports"
parent="hr_attendance.timesheet_menu_root" sequence="99" groups="base.group_hr_manager"/>
<menuitem action="action_hr_timesheet_report_stat_all" id="menu_hr_timesheet_report_all"
+14 -13
View File
@@ -11,6 +11,7 @@
<field name="date"/>
<field name="color"/>
<field name="task_count"/>
<field name="label_tasks"/>
<field name="task_ids"/>
<field name="alias_id"/>
<field name="alias_name"/>
@@ -18,7 +19,7 @@
<field name="doc_count"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="o_kanban_flexbox #{kanban_color(record.color.raw_value)}">
<div t-attf-class="o_kanban_flexbox #{kanban_color(record.color.raw_value)} oe_kanban_global_click">
<div class="o_project_kanban_main">
<div class="o_kanban_card_content o_visible">
<div class="o_kanban_primary_left">
@@ -30,20 +31,20 @@
</div>
</div>
</div><div class="o_kanban_card_manage_pane o_invisible">
<div class="o_kanban_card_manage_section o_kanban_manage_view">
<div t-if="widget.view.is_action_enabled('edit')" groups="base.group_user">
<a type="edit">Edit Project</a>
</div>
</div>
<div class="o_kanban_card_manage_section o_kanban_manage_reports">
<div class="o_kanban_card_manage_title">
<span>Reports</span>
<div>
<a type="edit">Settings</a>
</div>
<div>
<a name="%(dblc_proj)d" type="action">Tasks</a>
</div>
<div>
<a name="%(action_view_task_history_cumulative)d" type="action">Cumulative Flow</a>
<a name="%(action_view_task_history_cumulative_filter)d" type="action">Cumulative Flow</a>
</div>
</div>
<div t-if="widget.view.is_action_enabled('edit')" class="o_kanban_card_manage_settings">
<div class="col-xs-12">
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</div>
</div>
</div>
@@ -55,12 +56,12 @@
</div>
<div class="o_project_kanban_boxes">
<a t-if="record.use_tasks.raw_value" class="o_project_kanban_box" name="%(act_project_project_2_project_task_all)d" type="action">
<span class="o_value"><field name="task_count"/></span>
<span class="o_label"><field name="label_tasks"/></span>
<a t-if="record.use_tasks.raw_value and record.task_count.raw_value" class="o_project_kanban_box" name="%(act_project_project_2_project_task_all)d" type="action">
<span class="o_value"><t t-esc="record.task_count.value"/></span>
<span class="o_label"><t t-esc="record.label_tasks.value"/></span>
</a>
<a t-if="record.doc_count.raw_value" class="o_project_kanban_box" name="attachment_tree_view" type="object">
<span class="o_value"><field name="doc_count"/></span>
<span class="o_value"><t t-esc="record.doc_count.value"/></span>
<span class="o_label">Documents</span>
</a>
</div>
@@ -67,6 +67,21 @@
<field name="context">{"search_default_open":1, "search_default_this_month": 1}</field>
<field name="view_id"></field> <!-- force empty -->
</record>
<record id="action_view_task_history_cumulative_filter" model="ir.actions.act_window">
<field name="name">Cumulative Flow</field>
<field name="res_model">project.task.history.cumulative</field>
<field name="view_type">form</field>
<field name="view_mode">pivot,graph</field>
<field name="filter" eval="False"/>
<field name="context">{
'search_default_open':1,
'search_default_this_month': 1,
'search_default_project_id': [active_id],
'default_project_id': active_id,
}
</field>
<field name="view_id"></field> <!-- force empty -->
</record>
<menuitem action="action_view_task_history_cumulative"
id="menu_action_view_task_history_cumulative"
parent="base.menu_project_report"/>
+10
View File
@@ -5,4 +5,14 @@ var KanbanView = require('web_kanban.KanbanView');
var data = require('web.data');
var session = require('web.session');
kanban_common.KanbanRecord.include({
on_card_clicked: function() {
if (this.view.dataset.model === 'project.project') {
this.$('.o_project_kanban_boxes a').first().click();
} else {
this._super.apply(this, arguments);
}
},
});
});
@@ -1,84 +1,80 @@
.o_project_kanban {
.oe_kanban_view.o_kanban_dashboard.o_project_kanban {
&.o_kanban_dashboard {
@odoo-brand-optional: #21b799;
@odoo-brand-optional: #21b799;
.o_kanban_flexbox {
display: flex;
position: relative;
}
.o_kanban_flexbox {
display: flex;
position: relative;
}
.oe_kanban_record {
min-width: 300px;
max-width: 350px;
}
.oe_kanban_record {
padding: 0 !important;
min-width: 300px;
max-width: 350px;
}
/*
.oe_kanban_record:hover .o_project_kanban_manage {
visibility: visible;
}
*/
/*
.oe_kanban_record:hover .o_project_kanban_manage {
visibility: visible;
}
*/
.o_project_kanban_main {
margin-bottom: 40px; // give space for manage section at the bottom
width: 75%;
.o_project_kanban_main {
margin-bottom: 40px; // give space for manage section at the bottom
width: 75%;
.o_primary {
font-size: larger;
}
.o_primary {
font-size: larger;
.o_project_kanban_manage {
visibility: visible;
position: absolute;
bottom: 0;
margin-left: 10px;
margin-bottom: 10px;
}
.o_kanban_card_manage_pane {
border-color: lightgrey;
border-bottom-style: solid;
border-bottom-width: 1px;
.o_kanban_card_manage_title {
margin: 0;
}
}
}
.o_project_kanban_manage {
visibility: visible;
position: absolute;
bottom: 0;
margin-left: 10px;
margin-bottom: 10px;
}
.o_kanban_card_manage_pane {
border-color: #EEEEEE;
border-bottom-style: solid;
border-bottom-width: 1px;
.o_project_kanban_boxes {
display: flex;
flex-direction: column;
justify-content: flex-end;
align-content: stretch;
.o_kanban_card_manage_title {
margin: 0;
}
}
}
width: 25%;
.o_project_kanban_boxes {
display: flex;
flex-direction: column;
justify-content: flex-end;
align-content: stretch;
.o_value {
font-size: x-large;
color: white;
display: block;
}
.o_label {
color: white;
}
width: 25%;
.o_value {
font-size: x-large;
color: white;
display: block;
}
.o_label {
color: white;
}
.o_project_kanban_box {
text-align: center;
padding: 15px 0 15px 0;
flex: 1 1 auto;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
}
.o_project_kanban_box:nth-child(even) {
background-color: grey;
}
.o_project_kanban_box:nth-child(odd) {
background-color: @odoo-brand-optional;
}
}
}
.o_project_kanban_box {
text-align: center;
padding: 15px 0 15px 0;
flex: 1 1 auto;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
}
.o_project_kanban_box:nth-child(even) {
background-color: grey;
}
.o_project_kanban_box:nth-child(odd) {
background-color: @odoo-brand-optional;
}
}
}
@@ -14,6 +14,13 @@
<span class="o_label"><field name="label_issues"/></span>
</a>
</xpath>
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div>
<a name="%(action_project_issue_report)d" type="action">Issues</a>
</div>
</xpath>
</field>
</record>
</odoo>
@@ -15,13 +15,14 @@
<field name="inherit_id" ref="project.view_project_kanban"/>
<field name="arch" type="xml">
<data>
<xpath expr="//div[contains(@class, 'o_kanban_manage_view')]" position="inside">
<div>
<a name="open_contract" type="object">Edit Contract</a>
</div>
<div>
<a name="open_timesheets" type="object">Timesheets</a>
</div>
<field name="use_tasks" position="after">
<field name="total_hours"/>
</field>
<xpath expr="//div[contains(@class, 'o_project_kanban_boxes')]" position="inside">
<a t-if="record.total_hours.value and record.total_hours.value &gt; 0" class="o_project_kanban_box" name="open_timesheets" type="object">
<span class="o_value"><t t-raw="record.total_hours.value"/></span>
<span class="o_label">Hours</span>
</a>
</xpath>
</data>
</field>
+1 -2
View File
@@ -43,8 +43,7 @@
<xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="after">
<div class="col-xs-12 o_kanban_primary_bottom" t-if="record.invoiced_target.raw_value">
<!-- TODO: use progressbar widget when available on kanban view -->
<field name="invoiced_forecast" widget="progress" options="{'title': 'Forecast', 'current_value': 'invoiced_forecast', 'max_value': 'invoiced_target', 'editable': 'true', 'on_change': 'action_forecast'}"/>
<field name="invoiced_forecast" widget="progress" options="{'title': 'Forecast', 'current_value': 'invoiced_forecast', 'max_value': 'invoiced_target', 'editable': true, 'on_change': 'action_forecast'}"/>
</div>
<div t-if="!record.invoiced_target.raw_value" class="col-xs-12 o_kanban_primary_bottom">
Define an invoicing target in the sales team settings to see the period's achievement and forecast at a glance.
+6 -1
View File
@@ -48,7 +48,12 @@
</div>
<div t-if="widget.view.is_action_enabled('edit')" class="o_kanban_card_manage_settings row">
<a type="edit">Settings</a>
<div class="col-xs-8">
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</div>
<div class="col-xs-4 text-right">
<a type="edit">Settings</a>
</div>
</div>
</div>
</div>
@@ -1,7 +1,7 @@
.o_salesteam_kanban {
.oe_kanban_view.o_kanban_dashboard.o_salesteam_kanban {
.oe_kanban_record {
min-height: 200px !important;
min-width: 500px !important;
max-width: 600px !important;
min-height: 200px;
min-width: 500px;
max-width: 600px;
}
}
-9
View File
@@ -10,15 +10,6 @@
.openerp .oe_stock_scan_image:hover {
opacity: 1
}
.oe_gauge_labels {
width: 100%;
}
.oe_gauge_labels .oe_gauge_label_column {
width: 49%;
text-align: center;
display: inline-block;
margin: -7px;
}
.oe_stock_scan_image_btn {
/*height : 42px;*/
@@ -1,6 +1,6 @@
.o_stock_kanban {
.oe_kanban_view.o_kanban_dashboard.o_stock_kanban {
.oe_kanban_record {
max-width: 500px !important;
min-width: 350px !important;
max-width: 500px;
min-width: 350px;
}
}
+14 -23
View File
@@ -6,6 +6,7 @@
<kanban class="oe_background_grey o_kanban_dashboard o_stock_kanban" create="0">
<field name="complete_name"/>
<field name="color"/>
<field name="code"/>
<field name="count_picking_ready"/>
<field name="count_picking_draft"/>
<field name="count_picking_waiting"/>
@@ -26,18 +27,14 @@
<div class="container o_kanban_card_content o_visible">
<div class="row">
<div class="col-xs-6 o_kanban_primary_left">
<button class="btn btn-primary" name="%(action_picking_tree)d" type="action">Transfers</button>
<button class="btn btn-primary" name="%(action_picking_tree_ready)d" type="action">
<span t-if="record.code.raw_value =='incoming'"><t t-esc="record.count_picking_ready.value"/> To Receive</span>
<span t-if="record.code.raw_value =='outgoing'"><t t-esc="record.count_picking_ready.value"/> To Do</span>
<span t-if="record.code.raw_value =='internal'"><t t-esc="record.count_picking_ready.value"/> Transfers</span>
</button>
</div>
<div class="col-xs-6 o_kanban_primary_right">
<div t-if="record.count_picking_ready.raw_value > 0" class="row">
<div class="col-xs-9">
<a name="%(action_picking_tree_ready)d" type="action">
Ready
</a>
</div>
<div class="col-xs-3">
<field name="count_picking_ready"/>
</div>
</div>
<div t-if="record.count_picking_waiting.raw_value > 0" class="row">
@@ -76,7 +73,7 @@
</div>
</div><div class="container o_kanban_card_manage_pane o_invisible">
<div class="row">
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_view">
<div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_view">
<div class="o_kanban_card_manage_title">
<span>View</span>
</div>
@@ -93,7 +90,7 @@
<a name="%(action_picking_tree_backorder)d" type="action">Back Orders</a>
</div>
</div>
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_new">
<div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_new">
<div class="o_kanban_card_manage_title">
<span>New</span>
</div>
@@ -101,21 +98,15 @@
<a name="%(action_picking_form)d" type="action" >Transfer</a>
</div>
</div>
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_reports">
<div class="o_kanban_card_manage_title">
<span>Reports</span>
</div>
<div>
<a name="%(action_stock_level_forecast_report)d" type="action" >Stock Level Forecast</a>
</div>
<div>
<a name="%(action_stock_line_date)d" type="action" >Latest Inventories &amp; Moves</a>
</div>
</div>
</div>
<div t-if="widget.view.is_action_enabled('edit')" class="o_kanban_card_manage_settings row">
<a type="edit">Settings</a>
<div class="col-xs-8">
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</div>
<div class="col-xs-4 text-right">
<a type="edit">Settings</a>
</div>
</div>
</div>
</div>
-8
View File
@@ -24,14 +24,6 @@
</a>
</div>
</xpath>
<xpath expr="//div[contains(@class, 'o_kanban_manage_reports')]" position="inside">
<div>
<a name="%(action_wizard_stock_valuation_history)d" type="action">
Inventory Valuation
</a>
</div>
</xpath>
</field>
</record>