diff options
| author | Martin Geubelle <mge@odoo.com> | 2015-05-21 10:27:45 +0200 |
|---|---|---|
| committer | Martin Geubelle <mge@odoo.com> | 2015-05-22 17:54:34 +0200 |
| commit | a3f3a0db682f5e13f502ee2686846d5bd02cc50a (patch) | |
| tree | e5fa2ae4636c9cda1322e08f4dcac85e4d925c79 /addons | |
| parent | a393fb6090a6fd1311f958487bb6e0056e8d5182 (diff) | |
[IMP] hr, hr_*, project, sale, sales_team, stock: in dashboards, add color picker, add domains on reports and style improvements
Diffstat (limited to 'addons')
29 files changed, 308 insertions, 201 deletions
diff --git a/addons/hr/hr_dashboard.xml b/addons/hr/hr_dashboard.xml index e7bfa41de2f..884e0cbc68c 100644 --- a/addons/hr/hr_dashboard.xml +++ b/addons/hr/hr_dashboard.xml @@ -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> diff --git a/addons/hr/static/src/less/hr_dashboard.less b/addons/hr/static/src/less/hr_dashboard.less index 0e9f5ecfc70..eada8b85395 100644 --- a/addons/hr/static/src/less/hr_dashboard.less +++ b/addons/hr/static/src/less/hr_dashboard.less @@ -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; } }
\ No newline at end of file diff --git a/addons/hr_attendance/hr_attendance.py b/addons/hr_attendance/hr_attendance.py index 28031499368..8e17fc0d68f 100644 --- a/addons/hr_attendance/hr_attendance.py +++ b/addons/hr_attendance/hr_attendance.py @@ -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 = { diff --git a/addons/hr_attendance/hr_attendance_view.xml b/addons/hr_attendance/hr_attendance_view.xml index 6d4d06fed00..5832a35e0fc 100644 --- a/addons/hr_attendance/hr_attendance_view.xml +++ b/addons/hr_attendance/hr_attendance_view.xml @@ -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','>=',datetime.datetime.now().replace(hour=0, minute=0, second=0)),('name','<=',datetime.datetime.now().replace(hour=23, minute=59, second=59))]" /> <filter string="Current Month" domain="[('name','>=', 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" /> diff --git a/addons/hr_attendance/hr_dashboard.xml b/addons/hr_attendance/hr_dashboard.xml index 6da49a4d0cc..ae1bae28c17 100644 --- a/addons/hr_attendance/hr_dashboard.xml +++ b/addons/hr_attendance/hr_dashboard.xml @@ -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> diff --git a/addons/hr_evaluation/hr_dashboard.xml b/addons/hr_evaluation/hr_dashboard.xml index a9315bf8af2..528ed191810 100644 --- a/addons/hr_evaluation/hr_dashboard.xml +++ b/addons/hr_evaluation/hr_dashboard.xml @@ -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> diff --git a/addons/hr_evaluation/report/hr_evaluation_report_view.xml b/addons/hr_evaluation/report/hr_evaluation_report_view.xml index 33c4d33f519..85943d0f16c 100644 --- a/addons/hr_evaluation/report/hr_evaluation_report_view.xml +++ b/addons/hr_evaluation/report/hr_evaluation_report_view.xml @@ -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> diff --git a/addons/hr_expense/hr_dashboard.xml b/addons/hr_expense/hr_dashboard.xml index f299e94f336..35e1fff64d8 100644 --- a/addons/hr_expense/hr_dashboard.xml +++ b/addons/hr_expense/hr_dashboard.xml @@ -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> diff --git a/addons/hr_expense/report/hr_expense_report_view.xml b/addons/hr_expense/report/hr_expense_report_view.xml index d155ed5026d..19d93b0ff81 100644 --- a/addons/hr_expense/report/hr_expense_report_view.xml +++ b/addons/hr_expense/report/hr_expense_report_view.xml @@ -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> diff --git a/addons/hr_holidays/hr_dashboard.xml b/addons/hr_holidays/hr_dashboard.xml index a90e5a2b2ee..c44a02871d0 100644 --- a/addons/hr_holidays/hr_dashboard.xml +++ b/addons/hr_holidays/hr_dashboard.xml @@ -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> diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 0bd96e13047..86d34f1070c 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -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> diff --git a/addons/hr_recruitment/hr_dashboard.xml b/addons/hr_recruitment/hr_dashboard.xml index ccffcd9227e..55b7b80ebef 100644 --- a/addons/hr_recruitment/hr_dashboard.xml +++ b/addons/hr_recruitment/hr_dashboard.xml @@ -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> diff --git a/addons/hr_recruitment/hr_recruitment_dashboard.xml b/addons/hr_recruitment/hr_recruitment_dashboard.xml index c319f8ace53..75d4a4564a1 100644 --- a/addons/hr_recruitment/hr_recruitment_dashboard.xml +++ b/addons/hr_recruitment/hr_recruitment_dashboard.xml @@ -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> diff --git a/addons/hr_recruitment/report/hr_recruitment_report_view.xml b/addons/hr_recruitment/report/hr_recruitment_report_view.xml index 039816a1714..a252880d85f 100644 --- a/addons/hr_recruitment/report/hr_recruitment_report_view.xml +++ b/addons/hr_recruitment/report/hr_recruitment_report_view.xml @@ -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> diff --git a/addons/hr_timesheet/hr_dashboard.xml b/addons/hr_timesheet/hr_dashboard.xml index 3a9b191be2e..b0192973ab9 100644 --- a/addons/hr_timesheet/hr_dashboard.xml +++ b/addons/hr_timesheet/hr_dashboard.xml @@ -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> diff --git a/addons/hr_timesheet/report/hr_timesheet_report_view.xml b/addons/hr_timesheet/report/hr_timesheet_report_view.xml index 6f044d28473..069dfd92377 100644 --- a/addons/hr_timesheet/report/hr_timesheet_report_view.xml +++ b/addons/hr_timesheet/report/hr_timesheet_report_view.xml @@ -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" diff --git a/addons/project/project_dashboard.xml b/addons/project/project_dashboard.xml index 8dce59b8187..3d54eb45621 100644 --- a/addons/project/project_dashboard.xml +++ b/addons/project/project_dashboard.xml @@ -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> diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml index 7da815defed..5cabe21ec73 100644 --- a/addons/project/report/project_cumulative.xml +++ b/addons/project/report/project_cumulative.xml @@ -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"/> diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js index 26ae050a119..20927cebc2c 100644 --- a/addons/project/static/src/js/project.js +++ b/addons/project/static/src/js/project.js @@ -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); + } + }, +}); }); diff --git a/addons/project/static/src/less/project_dashboard.less b/addons/project/static/src/less/project_dashboard.less index ade6a7995f6..11d3b468903 100644 --- a/addons/project/static/src/less/project_dashboard.less +++ b/addons/project/static/src/less/project_dashboard.less @@ -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: #EEEEEE; - border-bottom-style: solid; - border-bottom-width: 1px; + .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_kanban_card_manage_title { + margin: 0; + } + } + } - .o_project_kanban_boxes { - display: flex; - flex-direction: column; - justify-content: flex-end; - align-content: stretch; + .o_project_kanban_boxes { + display: flex; + flex-direction: column; + justify-content: flex-end; + align-content: stretch; - width: 25%; + width: 25%; - .o_value { - font-size: x-large; - color: white; - display: block; - } - .o_label { - color: white; - } + .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; + } + } }
\ No newline at end of file diff --git a/addons/project_issue/project_dashboard.xml b/addons/project_issue/project_dashboard.xml index 3422f6c5d20..ef496ed5c81 100644 --- a/addons/project_issue/project_dashboard.xml +++ b/addons/project_issue/project_dashboard.xml @@ -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>
\ No newline at end of file diff --git a/addons/project_timesheet/project_dashboard.xml b/addons/project_timesheet/project_dashboard.xml index d43f7dc6a82..aec13ff42c3 100644 --- a/addons/project_timesheet/project_dashboard.xml +++ b/addons/project_timesheet/project_dashboard.xml @@ -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 > 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> diff --git a/addons/sale/sales_team_dashboard.xml b/addons/sale/sales_team_dashboard.xml index cd4a2ba89ae..169e2e9ddd1 100644 --- a/addons/sale/sales_team_dashboard.xml +++ b/addons/sale/sales_team_dashboard.xml @@ -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. diff --git a/addons/sales_team/sales_team_dashboard.xml b/addons/sales_team/sales_team_dashboard.xml index 211ee24a899..fa14cd91284 100644 --- a/addons/sales_team/sales_team_dashboard.xml +++ b/addons/sales_team/sales_team_dashboard.xml @@ -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> diff --git a/addons/sales_team/static/src/less/sales_team_dashboard.less b/addons/sales_team/static/src/less/sales_team_dashboard.less index 4fedcc80691..19dbb66757a 100644 --- a/addons/sales_team/static/src/less/sales_team_dashboard.less +++ b/addons/sales_team/static/src/less/sales_team_dashboard.less @@ -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; } }
\ No newline at end of file diff --git a/addons/stock/static/src/css/stock.css b/addons/stock/static/src/css/stock.css index 4cf5ad24c02..532eb4f18d1 100644 --- a/addons/stock/static/src/css/stock.css +++ b/addons/stock/static/src/css/stock.css @@ -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;*/ diff --git a/addons/stock/static/src/less/stock_dashboard.less b/addons/stock/static/src/less/stock_dashboard.less index 96c023e3c7b..cf272240922 100644 --- a/addons/stock/static/src/less/stock_dashboard.less +++ b/addons/stock/static/src/less/stock_dashboard.less @@ -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; } }
\ No newline at end of file diff --git a/addons/stock/stock_dashboard.xml b/addons/stock/stock_dashboard.xml index 19f94de6314..ddf35c7beb9 100644 --- a/addons/stock/stock_dashboard.xml +++ b/addons/stock/stock_dashboard.xml @@ -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 & 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> diff --git a/addons/stock_account/stock_dashboard.xml b/addons/stock_account/stock_dashboard.xml index 61f50659377..a99d05973db 100644 --- a/addons/stock_account/stock_dashboard.xml +++ b/addons/stock_account/stock_dashboard.xml @@ -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> |
