diff options
| author | Martin Geubelle <mge@odoo.com> | 2015-05-12 13:29:29 +0200 |
|---|---|---|
| committer | Martin Geubelle <mge@odoo.com> | 2015-05-12 18:00:08 +0200 |
| commit | 0aa5bb7ada9a32ca632c74c85a8d69a236bef740 (patch) | |
| tree | 4b410b008e66309f01e98cfb479201b6423967a4 /addons | |
| parent | edd7e9b6872b014c57f74c4fd460f1dc972af4b4 (diff) | |
[ADD] hr, hr_*: new dashboard view for hr departments
Diffstat (limited to 'addons')
27 files changed, 432 insertions, 235 deletions
diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py index 6b118d426b8..80d809626c9 100644 --- a/addons/hr/__openerp__.py +++ b/addons/hr/__openerp__.py @@ -66,6 +66,7 @@ You can manage: 'mail_hr_view.xml', 'res_users_view.xml', 'views/hr.xml', + 'hr_dashboard.xml', ], 'demo': ['hr_demo.xml'], 'test': [ diff --git a/addons/hr/hr_dashboard.xml b/addons/hr/hr_dashboard.xml new file mode 100644 index 00000000000..166b2c4fc31 --- /dev/null +++ b/addons/hr/hr_dashboard.xml @@ -0,0 +1,60 @@ +<odoo> + <record id="hr_department_view_kanban" model="ir.ui.view" > + <field name="name">hr.department.kanban</field> + <field name="model">hr.department</field> + <field name="arch" type="xml"> + <kanban class="oe_background_grey o_kanban_dashboard o_hr_kanban"> + <field name="name"/> + <field name="company_id"/> + <field name="manager_id"/> + <field name="color"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="#{kanban_color(record.color.raw_value)}"> + <div class="o_kanban_card_header"> + <div class="o_kanban_card_header_title"> + <div class="o_primary"><field name="name"/></div> + <div class="o_secondary"><field name="company_id"/></div> + </div> + <div class="o_kanban_manage_button_section"> + <a class="o_kanban_manage_toogle_button">More <i class="fa fa-caret-down"/></a> + </div> + </div> + <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="%(act_employee_from_department)d" type="action">Employees</button> + </div> + <div class="col-xs-6 o_kanban_primary_right"> + </div> + </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_to_do"> + <div class="o_kanban_card_manage_title"> + <span>To Do</span> + </div> + </div> + <div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_to_approve"> + <div class="o_kanban_card_manage_title"> + <span>To Approve</span> + </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> + </div> + <div t-if="widget.view.is_action_enabled('edit')" class="row o_kanban_card_manage_settings"> + <a type="edit">Settings</a> + </div> + </div> + + </div> + </t> + </templates> + </kanban> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 9293bb8848a..1834b64e00b 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -484,56 +484,6 @@ </field> </record> - <record id="hr_department_view_kanban" model="ir.ui.view" > - <field name="name">hr.department.kanban</field> - <field name="model">hr.department</field> - <field name="arch" type="xml"> - <kanban class="oe_background_grey"> - <field name="name"/> - <field name="manager_id"/> - <field name="color"/> - <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 oe_kanban_department"> - <div class="oe_dropdown_toggle oe_dropdown_kanban"> - <i class="fa fa-bars fa-lg"/> - <ul class="oe_dropdown_menu"> - <li t-if="widget.view.is_action_enabled('edit')"><a type="edit">Department Settings</a></li> - <li t-if="widget.view.is_action_enabled('delete')"><a type="delete">Delete</a></li> - <li t-if="widget.view.is_action_enabled('edit')"><ul class="oe_kanban_colorpicker" data-field="color"/></li> - </ul> - </div> - <div class="oe_kanban_content container"> - <div class="row"> - <a type="action" name="%(act_employee_from_department)d"/> - <t t-if="record.manager_id.raw_value"> - <img t-att-src="kanban_image('hr.employee', 'image_small', record.manager_id.raw_value[0])" t-att-title="record.manager_id.value" class="oe_avatar oe_kanban_avatar_smallbox pull-right"/> - </t> - <t t-if="record.manager_id.raw_value === false"> - <img t-att-src='_s + "/base/static/src/img/avatar.png"' title="No manager" class="oe_avatar oe_kanban_avatar_smallbox pull-right"/> - </t> - <h3 class="text-center oe_kanban_ellipsis"><field name="name"/></h3> - </div> - <div class="row"> - <div class="col-md-6 col-xs-6 oe_form_invisible" name="to_approve"> - <strong>To Approve</strong> - </div> - <div class="col-md-6 col-xs-6 oe_form_invisible" name="to_do"> - <strong>To Do</strong> - </div> - </div> - <div class="row"> - <div name="gauge_to_approve" class="col-md-6 col-xs-6 oe_form_invisible"/> - <div name="gauge_to_do" class="col-md-6 col-xs-6 oe_form_invisible"/> - </div> - </div> - <div class="oe_clear"/> - </div> - </t> - </templates> - </kanban> - </field> - </record> <record id="view_department_filter" model="ir.ui.view"> <field name="name">Departments</field> <field name="model">hr.department</field> diff --git a/addons/hr/static/src/js/hr.js b/addons/hr/static/src/js/hr.js index 60c5af11688..9fda01cef95 100644 --- a/addons/hr/static/src/js/hr.js +++ b/addons/hr/static/src/js/hr.js @@ -3,16 +3,6 @@ odoo.define('hr.hr', function(require) { var common = require('web_kanban.common'); -common.KanbanRecord.include({ - on_card_clicked: function() { - if (this.view.dataset.model === 'hr.department') { - this.$('.oe_kanban_department .oe_kanban_content a').first().click(); - } else { - this._super.apply(this, arguments); - } - }, -}); - }); diff --git a/addons/hr/static/src/less/hr_dashboard.less b/addons/hr/static/src/less/hr_dashboard.less new file mode 100644 index 00000000000..0e9f5ecfc70 --- /dev/null +++ b/addons/hr/static/src/less/hr_dashboard.less @@ -0,0 +1,7 @@ +.o_hr_kanban { + .oe_kanban_record { + max-width: 500px !important; + min-width: 400px !important; + min-height: 200px !important; + } +}
\ No newline at end of file diff --git a/addons/hr/static/src/less/hr_department.less b/addons/hr/static/src/less/hr_department.less deleted file mode 100644 index 7f6b3bb0214..00000000000 --- a/addons/hr/static/src/less/hr_department.less +++ /dev/null @@ -1,11 +0,0 @@ -.openerp { - .oe_kanban_view .oe_kanban_department { - width: 365px; - .container{ - width: inherit; - } - .oe_kanban_content div:first-child{ - margin-right: 0px - } - } -} diff --git a/addons/hr/views/hr.xml b/addons/hr/views/hr.xml index aa6238469a6..44fb6d8655e 100644 --- a/addons/hr/views/hr.xml +++ b/addons/hr/views/hr.xml @@ -4,7 +4,7 @@ <template id="assets_backend" name="hr assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link rel="stylesheet" href="/hr/static/src/css/hr.css"/> - <link rel="stylesheet" href="/hr/static/src/less/hr_department.less"/> + <link rel="stylesheet" href="/hr/static/src/less/hr_dashboard.less"/> <script type="text/javascript" src="/hr/static/src/js/suggestions.js"></script> <script type="text/javascript" src="/hr/static/src/js/hr.js"></script> </xpath> diff --git a/addons/hr_attendance/__openerp__.py b/addons/hr_attendance/__openerp__.py index c443768c43a..a3c2af37940 100644 --- a/addons/hr_attendance/__openerp__.py +++ b/addons/hr_attendance/__openerp__.py @@ -42,6 +42,7 @@ actions(Sign in/Sign out) performed by them. 'wizard/hr_attendance_error_view.xml', 'views/report_attendanceerrors.xml', 'views/hr_attendance.xml', + 'hr_dashboard.xml', ], 'demo': ['hr_attendance_demo.xml'], 'test': [ diff --git a/addons/hr_attendance/hr_dashboard.xml b/addons/hr_attendance/hr_dashboard.xml new file mode 100644 index 00000000000..6da49a4d0cc --- /dev/null +++ b/addons/hr_attendance/hr_dashboard.xml @@ -0,0 +1,23 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + + <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"> + Attendances + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py index 7b0a458a8b2..6cccefeee10 100644 --- a/addons/hr_evaluation/__openerp__.py +++ b/addons/hr_evaluation/__openerp__.py @@ -54,6 +54,7 @@ Key Features 'survey_data_appraisal.xml', 'hr_evaluation_data.xml', 'hr_evaluation_installer.xml', + 'hr_dashboard.xml', ], "demo": ["hr_evaluation_demo.xml"], # 'test': [ diff --git a/addons/hr_evaluation/hr_dashboard.xml b/addons/hr_evaluation/hr_dashboard.xml new file mode 100644 index 00000000000..a9315bf8af2 --- /dev/null +++ b/addons/hr_evaluation/hr_dashboard.xml @@ -0,0 +1,68 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//templates" position="before"> + <field name="appraisal_to_start_count"/> + <field name="interview_request_count"/> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="inside"> + <div t-if="record.interview_request_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_evaluation_interview_action_from_department)d" type="action"> + Interview Requests + </a> + </div> + <div class="col-xs-3"> + <t t-esc="record.interview_request_count.raw_value"/> + </div> + </div> + <div t-if="record.appraisal_to_start_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_appraisal_action_from_department)d" type="action"> + Appraisal to Start + </a> + </div> + <div class="col-xs-3"> + <t t-esc="record.appraisal_to_start_count.raw_value"/> + </div> + </div> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_manage_to_do')]" position="inside"> + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_evaluation_interview_action_from_department)d" type="action"> + <t t-esc="record.interview_request_count.raw_value or 0"/> Interview Requests + </a> + </div> + </div> + + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_appraisal_action_from_department)d" type="action"> + <t t-esc="record.appraisal_to_start_count.raw_value or 0"/> Appraisal to Start + </a> + </div> + </div> + </xpath> + + <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"> + Appraisals + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml index d097bff7876..bc0155dd303 100644 --- a/addons/hr_evaluation/hr_evaluation_view.xml +++ b/addons/hr_evaluation/hr_evaluation_view.xml @@ -436,35 +436,5 @@ <field name="domain">[('employee_id.department_id', '=', active_id)]</field> </record> - <!--Hr Department Inherit Kanban view--> - <record id="hr_department_view_kanban" model="ir.ui.view"> - <field name="name">hr.department.kanban.inherit</field> - <field name="model">hr.department</field> - <field name="inherit_id" ref="hr.hr_department_view_kanban"/> - <field name="arch" type="xml"> - <data> - <xpath expr="//templates" position="before"> - <field name="appraisal_to_start_count"/> - <field name="interview_request_count"/> - </xpath> - <xpath expr="//div[@name='to_do']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='to_do']" position="inside"> - <div> - <a name="%(hr_evaluation_interview_action_from_department)d" type="action"> - <t t-esc="record.interview_request_count.raw_value or 0"/> Interview Requests - </a> - </div> - <div> - <a name="%(hr_appraisal_action_from_department)d" type="action"> - <t t-esc="record.appraisal_to_start_count.raw_value or 0"/> Appraisal to Start - </a> - </div> - </xpath> - </data> - </field> - </record> - </data> </openerp> diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py index f160b0f487a..d257e6a3bce 100644 --- a/addons/hr_expense/__openerp__.py +++ b/addons/hr_expense/__openerp__.py @@ -57,6 +57,7 @@ This module also uses analytic accounting and is compatible with the invoice on 'report/hr_expense_report_view.xml', 'hr_expense_installer_view.xml', 'views/report_expense.xml', + 'hr_dashboard.xml', ], 'demo': ['hr_expense_demo.xml'], 'test': [ diff --git a/addons/hr_expense/hr_dashboard.xml b/addons/hr_expense/hr_dashboard.xml new file mode 100644 index 00000000000..f299e94f336 --- /dev/null +++ b/addons/hr_expense/hr_dashboard.xml @@ -0,0 +1,49 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//templates" position="before"> + <field name="expense_to_approve_count"/> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="inside"> + <div t-if="record.expense_to_approve_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_expense_action_from_department)d" type="action"> + Expenses + </a> + </div> + <div class="col-xs-3"> + <t t-esc="record.expense_to_approve_count.raw_value"/> + </div> + </div> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_manage_to_approve')]" position="inside"> + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_expense_action_from_department)d" type="action"> + <t t-esc="record.expense_to_approve_count.raw_value or 0"/> Expenses + </a> + </div> + </div> + </xpath> + + <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"> + Expenses + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml index db1b60c8b50..ce409e3f603 100644 --- a/addons/hr_expense/hr_expense_view.xml +++ b/addons/hr_expense/hr_expense_view.xml @@ -276,27 +276,5 @@ </field> </record> - <!--Hr Department Inherit Kanban view--> - <record id="hr_department_view_kanban" model="ir.ui.view"> - <field name="name">hr.department.kanban.inherit</field> - <field name="model">hr.department</field> - <field name="inherit_id" ref="hr.hr_department_view_kanban"/> - <field name="arch" type="xml"> - <data> - <xpath expr="//templates" position="before"> - <field name="expense_to_approve_count"/> - </xpath> - <xpath expr="//div[@name='to_approve']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='to_approve']" position="inside"> - <div> - <a name="%(hr_expense_action_from_department)d" type="action"><t t-esc="record.expense_to_approve_count.raw_value or 0"/> Expenses</a> - </div> - </xpath> - </data> - </field> - </record> - </data> </openerp> diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py index 60740c7e963..19d652f349f 100644 --- a/addons/hr_holidays/__openerp__.py +++ b/addons/hr_holidays/__openerp__.py @@ -58,6 +58,7 @@ A synchronization with an internal agenda (Meetings of the CRM module) is also p 'report/available_holidays_view.xml', 'wizard/hr_holidays_summary_department_view.xml', 'wizard/hr_holidays_summary_employees_view.xml', + 'hr_dashboard.xml', ], 'demo': ['hr_holidays_demo.xml',], 'qweb': [ diff --git a/addons/hr_holidays/hr_dashboard.xml b/addons/hr_holidays/hr_dashboard.xml new file mode 100644 index 00000000000..a90e5a2b2ee --- /dev/null +++ b/addons/hr_holidays/hr_dashboard.xml @@ -0,0 +1,76 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//templates" position="before"> + <field name="leave_to_approve_count"/> + <field name="allocation_to_approve_count"/> + <field name="total_employee"/> + <field name="absence_of_today"/> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="inside"> + <div t-if="record.leave_to_approve_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_holidays_action_request_from_department)d" type="action"> + Leave Requests + </a> + </div> + <div class="col-xs-3"> + <field name="leave_to_approve_count"/> + </div> + </div> + <div t-if="record.allocation_to_approve_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_holidays_action_allocation_from_department)d" type="action"> + Allocation Requests + </a> + </div> + <div class="col-xs-3"> + <field name="allocation_to_approve_count"/> + </div> + </div> + </xpath> + + <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'}"/> + </div> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_manage_to_approve')]" position="inside"> + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_holidays_action_request_from_department)d" type="action"> + <t t-esc="record.leave_to_approve_count.raw_value or 0"/> Leave Requests + </a> + </div> + </div> + + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_holidays_action_allocation_from_department)d" type="action"> + <t t-esc="record.allocation_to_approve_count.raw_value or 0"/> Allocation Requests + </a> + </div> + </div> + </xpath> + + <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"> + Leaves + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index bc32988154a..0bd96e13047 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -693,53 +693,13 @@ <field name="search_view_id" ref="hr_employee_view_search"/> </record> - <!--Hr Department Inherit Kanban view--> - <record id="hr_department_view_kanban" model="ir.ui.view"> - <field name="name">hr.department.kanban.inherit</field> - <field name="model">hr.department</field> - <field name="inherit_id" ref="hr.hr_department_view_kanban"/> - <field name="arch" type="xml"> - <data> - <xpath expr="//templates" position="before"> - <field name="leave_to_approve_count"/> - <field name="allocation_to_approve_count"/> - <field name="total_employee"/> - </xpath> - <xpath expr="//div[@name='to_approve']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='to_approve']" position="inside"> - <div> - <a name="%(hr_holidays_action_request_from_department)d" type="action"> - <t t-esc="record.leave_to_approve_count.raw_value or 0"/> Leave Requests - </a> - </div> - <div> - <a name="%(hr_holidays_action_allocation_from_department)d" type="action"> - <t t-esc="record.allocation_to_approve_count.raw_value or 0"/> Allocation Requests - </a> - </div> - </xpath> - <xpath expr="//div[@name='gauge_to_approve']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='gauge_to_approve']" position="inside"> - <div class="row"> - <a name="%(hr_employee_action_from_department)d" type="action"> - <field name="absence_of_today" - options="{ - 'max_field': 'total_employee', - 'label': 'Absence(s) of Today', - 'levelcolors': ['#a9d70b', '#f9c802', '#ff0000']}" - widget="gauge" - style="width:160px; height: 120px; cursor: pointer;">Absence(s) of Today - </field> - </a> - </div> - </xpath> - - </data> - </field> + <record model="ir.actions.act_window" id="action_hr_holidays_leaves_analysis"> + <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="search_view_id" ref="view_hr_holidays_filter"/> </record> </data> diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py index 3ab147ddf2f..27992b7184c 100644 --- a/addons/hr_recruitment/__openerp__.py +++ b/addons/hr_recruitment/__openerp__.py @@ -58,6 +58,7 @@ You can define the different phases of interviews and easily rate the applicant 'survey_data_recruitment.xml', 'hr_recruitment_data.xml', 'views/hr_recruitment.xml', + 'hr_dashboard.xml', ], 'demo': ['hr_recruitment_demo.xml'], 'test': ['test/recruitment_process.yml'], diff --git a/addons/hr_recruitment/hr_dashboard.xml b/addons/hr_recruitment/hr_dashboard.xml new file mode 100644 index 00000000000..ccffcd9227e --- /dev/null +++ b/addons/hr_recruitment/hr_dashboard.xml @@ -0,0 +1,51 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//templates" position="before"> + <field name="new_applicant_count"/> + <field name="new_hired_employee"/> + <field name="expected_employee"/> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="inside"> + <div t-if="record.new_applicant_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_applicant_action_from_department)d" type="action"> + New Applicants + </a> + </div> + <div class="col-xs-3"> + <field name="new_applicant_count"/> + </div> + </div> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_manage_to_do')]" position="inside"> + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_applicant_action_from_department)d" type="action"> + <t t-esc="record.new_applicant_count.raw_value or 0"/> New Applicants + </a> + </div> + </div> + </xpath> + + <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"> + Recruitments + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 133515e264c..6a27b51f567 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -744,44 +744,5 @@ <field name="search_view_id" ref="hr_employee_view_search"/> </record> - <!--Hr Department Inherit Kanban view--> - <record id="hr_department_view_kanban" model="ir.ui.view"> - <field name="name">hr.department.kanban.inherit</field> - <field name="model">hr.department</field> - <field name="inherit_id" ref="hr.hr_department_view_kanban"/> - <field name="arch" type="xml"> - <data> - <xpath expr="//templates" position="before"> - <field name="new_applicant_count"/> - <field name="new_hired_employee"/> - <field name="expected_employee"/> - </xpath> - <xpath expr="//div[@name='to_do']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='to_do']" position="inside"> - <div> - <a name="%(hr_applicant_action_from_department)d" type="action"> - <t t-esc="record.new_applicant_count.raw_value or 0"/> New Applicant - </a> - </div> - </xpath> - <xpath expr="//div[@name='gauge_to_do']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='gauge_to_do']" position="inside"> - <div class="row"> - <a name="%(hr_employee_action_from_department)d" type="action"> - <field name="new_hired_employee" widget="gauge" - options="{'max_field': 'expected_employee', 'label': 'Hired Employee(s)',}" - style="width:160px; height: 120px; cursor: pointer;">Newly Hired Employee(s) - </field> - </a> - </div> - </xpath> - </data> - </field> - </record> - </data> </openerp> diff --git a/addons/hr_timesheet/__openerp__.py b/addons/hr_timesheet/__openerp__.py index cc37561d32d..7733755b005 100644 --- a/addons/hr_timesheet/__openerp__.py +++ b/addons/hr_timesheet/__openerp__.py @@ -46,7 +46,8 @@ up a management by affair. 'hr_timesheet_view.xml', 'report/hr_timesheet_report_view.xml', 'hr_timesheet_installer.xml', - 'hr_timesheet_data.xml' + 'hr_timesheet_data.xml', + 'hr_dashboard.xml', ], 'demo': [ 'hr_timesheet_demo.xml', diff --git a/addons/hr_timesheet/hr_dashboard.xml b/addons/hr_timesheet/hr_dashboard.xml new file mode 100644 index 00000000000..3a9b191be2e --- /dev/null +++ b/addons/hr_timesheet/hr_dashboard.xml @@ -0,0 +1,23 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + + <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"> + Timesheets + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_timesheet_sheet/__openerp__.py b/addons/hr_timesheet_sheet/__openerp__.py index 43d89c9af71..f3cbb90d771 100644 --- a/addons/hr_timesheet_sheet/__openerp__.py +++ b/addons/hr_timesheet_sheet/__openerp__.py @@ -56,6 +56,7 @@ The validation can be configured in the company: 'hr_timesheet_sheet_data.xml', 'res_config_view.xml', 'views/hr_timesheet_sheet.xml', + 'hr_dashboard.xml', ], 'demo': [ 'hr_timesheet_sheet_demo.xml', diff --git a/addons/hr_timesheet_sheet/hr_dashboard.xml b/addons/hr_timesheet_sheet/hr_dashboard.xml new file mode 100644 index 00000000000..fac145ae89d --- /dev/null +++ b/addons/hr_timesheet_sheet/hr_dashboard.xml @@ -0,0 +1,39 @@ +<odoo> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//templates" position="before"> + <field name="timesheet_to_approve_count"/> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_primary_right')]" position="inside"> + <div t-if="record.timesheet_to_approve_count.raw_value > 0" class="row"> + <div class="col-xs-9"> + <a name="%(hr_timesheet_action_from_department)d" type="action"> + Timesheets + </a> + </div> + <div class="col-xs-3"> + <t t-esc="record.timesheet_to_approve_count.raw_value"/> + </div> + </div> + </xpath> + + <xpath expr="//div[contains(@class, 'o_kanban_manage_to_approve')]" position="inside"> + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(hr_timesheet_action_from_department)d" type="action"> + <t t-esc="record.timesheet_to_approve_count.raw_value or 0"/> Timesheets + </a> + </div> + </div> + </xpath> + + </data> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml index daedf0686f0..40022afcda4 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml @@ -402,29 +402,5 @@ </field> </record> - <!--Hr Department Inherit Kanban view--> - <record id="hr_department_view_kanban" model="ir.ui.view"> - <field name="name">hr.department.kanban.inherit</field> - <field name="model">hr.department</field> - <field name="inherit_id" ref="hr.hr_department_view_kanban"/> - <field name="arch" type="xml"> - <data> - <xpath expr="//templates" position="before"> - <field name="timesheet_to_approve_count"/> - </xpath> - <xpath expr="//div[@name='to_approve']" position="attributes"> - <attribute name="class">col-md-6 col-xs-6</attribute> - </xpath> - <xpath expr="//div[@name='to_approve']" position="inside"> - <div> - <a name="%(hr_timesheet_action_from_department)d" type="action"> - <t t-esc="record.timesheet_to_approve_count.raw_value or 0"/> Timesheet - </a> - </div> - </xpath> - </data> - </field> - </record> - </data> </openerp> diff --git a/addons/l10n_in_hr_payroll/report/payslip_report_view.xml b/addons/l10n_in_hr_payroll/report/payslip_report_view.xml index 6b300bc3d0c..8a77f373ac3 100644 --- a/addons/l10n_in_hr_payroll/report/payslip_report_view.xml +++ b/addons/l10n_in_hr_payroll/report/payslip_report_view.xml @@ -78,6 +78,25 @@ <menuitem name="Reports" id="menu_l10n_in_hr_payroll_report" parent="hr_payroll.menu_hr_payroll_root" sequence="99" groups="base.group_hr_manager"/> <menuitem action="action_payslip_report_all" id="menu_reporting_payslip" parent="menu_l10n_in_hr_payroll_report" sequence="5" groups="base.group_hr_manager"/> + <!--Hr Department Inherit Kanban view--> + <record id="hr_department_view_kanban" model="ir.ui.view"> + <field name="name">hr.department.kanban.inherit</field> + <field name="model">hr.department</field> + <field name="inherit_id" ref="hr.hr_department_view_kanban"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//div[contains(@class, 'manage_reports')]" position="inside"> + <div class="row"> + <div class="col-xs-12 text-left"> + <a name="%(action_payslip_report_all)d" type="action"> + Payslip Analysis + </a> + </div> + </div> + </xpath> + </data> + </field> + </record> </data> </openerp> |
