diff options
| author | Giacomello Nathan (ngi) <ngi@odoo.com> | 2020-09-18 11:04:47 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2020-09-25 09:57:56 +0000 |
| commit | e026017adb7b51bb695825ded6528141b74deca3 (patch) | |
| tree | 3ec9006cc8b2a430912337152b6162ccf5b00db5 | |
| parent | f085be23da4eab4dc4369fea9e13dc827f12bf4f (diff) | |
[FIX] Expenses: Display headers in My Expense menu items
Expense header was displayed in all tree & kanban views.
This commit removes the header in other views than 'My Expenses' menus
because the expense header should only be visible in the 'My Expenses' menu
Task id: 2341766
closes odoo/odoo#58023
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
| -rw-r--r-- | addons/hr_expense/static/src/js/expense_views.js | 45 | ||||
| -rw-r--r-- | addons/hr_expense/views/hr_expense_views.xml | 104 |
2 files changed, 141 insertions, 8 deletions
diff --git a/addons/hr_expense/static/src/js/expense_views.js b/addons/hr_expense/static/src/js/expense_views.js index 546fd3197cb..a031f647de1 100644 --- a/addons/hr_expense/static/src/js/expense_views.js +++ b/addons/hr_expense/static/src/js/expense_views.js @@ -87,7 +87,12 @@ odoo.define('hr_expense.expenses.tree', function (require) { } }; - var ExpenseListRenderer = ListRenderer.extend(ExpenseDashboardMixin, ExpenseQRCodeMixin); + // Expense List Renderer + var ExpenseListRenderer = ListRenderer.extend(ExpenseQRCodeMixin); + + // Expense List Renderer with the Header + // Used in "My Expenses to Report", "All My Expenses" & "My Reports" + var ExpenseListRendererHeader = ExpenseListRenderer.extend(ExpenseDashboardMixin); var ExpensesListViewDashboardUpload = ListView.extend({ config: _.extend({}, ListView.prototype.config, { @@ -96,6 +101,14 @@ odoo.define('hr_expense.expenses.tree', function (require) { }), }); + // Used in "My Expenses to Report" & "All My Expenses" + var ExpensesListViewDashboardUploadHeader = ExpensesListViewDashboardUpload.extend({ + config: _.extend({}, ExpensesListViewDashboardUpload.prototype.config, { + Renderer: ExpenseListRendererHeader, + }), + }); + + // The dashboard view of the expense module var ExpensesListViewDashboard = ListView.extend({ config: _.extend({}, ListView.prototype.config, { Renderer: ExpenseListRenderer, @@ -103,6 +116,14 @@ odoo.define('hr_expense.expenses.tree', function (require) { }), }); + // The dashboard view of the expense module with an header + // Used in "My Expenses" + var ExpensesListViewDashboardHeader = ExpensesListViewDashboard.extend({ + config: _.extend({}, ExpensesListViewDashboard.prototype.config, { + Renderer: ExpenseListRendererHeader, + }) + }); + var ExpensesKanbanController = KanbanController.extend(DocumentUploadMixin, { buttons_template: 'ExpensesKanbanView.buttons', events: _.extend({}, KanbanController.prototype.events, { @@ -111,8 +132,11 @@ odoo.define('hr_expense.expenses.tree', function (require) { }), }); - var ExpenseKanbanRenderer = KanbanRenderer.extend(ExpenseDashboardMixin, ExpenseQRCodeMixin); + var ExpenseKanbanRenderer = KanbanRenderer.extend(ExpenseQRCodeMixin); + + var ExpenseKanbanRendererHeader = ExpenseKanbanRenderer.extend(ExpenseDashboardMixin); + // The kanban view var ExpensesKanbanView = KanbanView.extend({ config: _.extend({}, KanbanView.prototype.config, { Controller: ExpensesKanbanController, @@ -120,7 +144,24 @@ odoo.define('hr_expense.expenses.tree', function (require) { }), }); + // The kanban view with the Header + // Used in "My Expenses to Report", "All My Expenses" & "My Repo + var ExpensesKanbanViewHeader = ExpensesKanbanView.extend({ + config: _.extend({}, ExpensesKanbanView.prototype.config, { + Renderer: ExpenseKanbanRendererHeader, + }) + }); + viewRegistry.add('hr_expense_tree_dashboard_upload', ExpensesListViewDashboardUpload); + // Tree view with the header. + // Used in "My Expenses to Report" & "All My Expenses" + viewRegistry.add('hr_expense_tree_dashboard_upload_header', ExpensesListViewDashboardUploadHeader); viewRegistry.add('hr_expense_tree_dashboard', ExpensesListViewDashboard); + // Tree view with the header. + // Used in "My Reports" + viewRegistry.add('hr_expense_tree_dashboard_header', ExpensesListViewDashboardHeader); viewRegistry.add('hr_expense_kanban', ExpensesKanbanView); + // Kanban view with the header. + // Used in "My Expenses to Report", "All My Expenses" & "My Reports" + viewRegistry.add('hr_expense_kanban_header', ExpensesKanbanViewHeader); }); diff --git a/addons/hr_expense/views/hr_expense_views.xml b/addons/hr_expense/views/hr_expense_views.xml index 377fb8f99a7..dda76383896 100644 --- a/addons/hr_expense/views/hr_expense_views.xml +++ b/addons/hr_expense/views/hr_expense_views.xml @@ -80,7 +80,8 @@ <field name="mode">primary</field> <field name="arch" type="xml"> <xpath expr="//tree" position="attributes"> - <attribute name="js_class">hr_expense_tree_dashboard_upload</attribute> + <!-- Display the tree dashboard view with the header --> + <attribute name="js_class">hr_expense_tree_dashboard_upload_header</attribute> </xpath> </field> </record> @@ -93,7 +94,8 @@ <field name="mode">primary</field> <field name="arch" type="xml"> <xpath expr="//tree" position="attributes"> - <attribute name="js_class">hr_expense_tree_dashboard</attribute> + <!-- Display the tree dashboard view with the header --> + <attribute name="js_class">hr_expense_tree_dashboard_header</attribute> <attribute name="class">hr_expense</attribute> </xpath> </field> @@ -237,6 +239,7 @@ </field> </record> + <!-- Kanban view without header --> <record id="hr_expense_kanban_view" model="ir.ui.view"> <field name="name">hr.expense.kanban</field> <field name="model">hr.expense</field> @@ -249,6 +252,19 @@ </field> </record> + <!-- Kanban view with header. Used in "All My Expenses --> + <record id="hr_expense_kanban_view_header" model="ir.ui.view"> + <field name="name">hr.expense.kanban</field> + <field name="model">hr.expense</field> + <field name="inherit_id" ref="hr_expense_view_expenses_analysis_kanban"/> + <field name="mode">primary</field> + <field name="arch" type="xml"> + <xpath expr="//kanban" position="attributes"> + <attribute name="js_class">hr_expense_kanban_header</attribute> + </xpath> + </field> + </record> + <record id="hr_expense_view_pivot" model="ir.ui.view"> <field name="name">hr.expense.pivot</field> <field name="model">hr.expense</field> @@ -374,7 +390,6 @@ <field name="res_model">hr.expense</field> <field name="view_mode">tree,kanban,form,graph,pivot,activity</field> <field name="search_view_id" ref="hr_expense_view_search"/> - <field name="view_id" ref="view_my_expenses_tree"/> <field name="context">{'search_default_my_expenses': 1, 'search_default_no_report': 1}</field> <field name="help" type="html"> <p class="o_view_nocontent_expense_receipt"> @@ -392,12 +407,24 @@ </field> </record> + <!-- Tree & Kanban view for "My Expenses to Report" with the header --> + <record id="hr_expense_actions_my_unsubmitted_tree" model="ir.actions.act_window.view"> + <field name="view_mode">tree</field> + <field name="view_id" ref="view_my_expenses_tree"/> + <field name="act_window_id" ref="hr_expense_actions_my_unsubmitted"/> + </record> + + <record id="hr_expense_actions_my_unsubmitted_kanban" model="ir.actions.act_window.view"> + <field name="view_mode">kanban</field> + <field name="view_id" ref="hr_expense_kanban_view_header"/> + <field name="act_window_id" ref="hr_expense_actions_my_unsubmitted"/> + </record> + <record id="hr_expense_actions_my_all" model="ir.actions.act_window"> <field name="name">All My Expenses</field> <field name="res_model">hr.expense</field> <field name="view_mode">tree,kanban,form,graph,pivot,activity</field> <field name="search_view_id" ref="hr_expense_view_search"/> - <field name="view_id" ref="view_my_expenses_tree"/> <field name="context">{'search_default_my_expenses': 1}</field> <field name="help" type="html"> <p class="o_view_nocontent_expense_receipt"> @@ -415,6 +442,19 @@ </field> </record> + <!-- Tree & Kanban view for "All My Expenses" with header --> + <record id="hr_expense_actions_my_all_tree" model="ir.actions.act_window.view"> + <field name="view_mode">tree</field> + <field name="view_id" ref="view_my_expenses_tree"/> + <field name="act_window_id" ref="hr_expense_actions_my_all"/> + </record> + + <record id="hr_expense_actions_my_all_kanban" model="ir.actions.act_window.view"> + <field name="view_mode">kanban</field> + <field name="view_id" ref="hr_expense_kanban_view_header"/> + <field name="act_window_id" ref="hr_expense_actions_my_all"/> + </record> + <record id="view_product_hr_expense_form" model="ir.ui.view"> <field name="name">product.template.expense.form</field> <field name="model">product.template</field> @@ -560,6 +600,20 @@ </field> </record> + <!-- Tree view for "My Reports" with header --> + <record id="view_hr_expense_sheet_dashboard_tree_header" model="ir.ui.view"> + <field name="name">hr.expense.sheet.dashboard.tree</field> + <field name="model">hr.expense.sheet</field> + <field name="priority">20</field> + <field name="inherit_id" ref="hr_expense.view_hr_expense_sheet_tree"/> + <field name="mode">primary</field> + <field name="arch" type="xml"> + <xpath expr="//tree" position="attributes"> + <attribute name="js_class">hr_expense_tree_dashboard_header</attribute> + </xpath> + </field> + </record> + <record id="view_hr_expense_sheet_form" model="ir.ui.view"> <field name="name">hr.expense.sheet.form</field> <field name="model">hr.expense.sheet</field> @@ -676,7 +730,7 @@ <field name="name">hr.expense.sheet.kanban</field> <field name="model">hr.expense.sheet</field> <field name="arch" type="xml"> - <kanban class="o_kanban_mobile" js_class="hr_expense_kanban" sample="1"> + <kanban class="o_kanban_mobile" sample="1"> <field name="name"/> <field name="employee_id"/> <field name="total_amount"/> @@ -710,6 +764,32 @@ </field> </record> + <!-- Kanban view without header --> + <record id="view_hr_expense_sheet_kanban_no_header" model="ir.ui.view"> + <field name="name">hr.expense.sheet.kanban</field> + <field name="model">hr.expense.sheet</field> + <field name="inherit_id" ref="view_hr_expense_sheet_kanban"/> + <field name="mode">primary</field> + <field name="arch" type="xml"> + <xpath expr="//kanban" position="attributes"> + <attribute name="js_class">hr_expense_kanban</attribute> + </xpath> + </field> + </record> + + <!-- Kanban view with header --> + <record id="view_hr_expense_sheet_kanban_header" model="ir.ui.view"> + <field name="name">hr.expense.sheet.kanban</field> + <field name="model">hr.expense.sheet</field> + <field name="inherit_id" ref="view_hr_expense_sheet_kanban"/> + <field name="mode">primary</field> + <field name="arch" type="xml"> + <xpath expr="//kanban" position="attributes"> + <attribute name="js_class">hr_expense_kanban_header</attribute> + </xpath> + </field> + </record> + <record id="view_hr_expense_sheet_pivot" model="ir.ui.view"> <field name="name">hr.expense.sheet.pivot</field> <field name="model">hr.expense.sheet</field> @@ -804,7 +884,6 @@ <field name="search_view_id" ref="hr_expense_sheet_view_search"/> <field name="domain">[('state', '!=', 'cancel')]</field> <field name="context">{'search_default_my_reports': 1}</field> - <field name="view_id" ref="view_hr_expense_sheet_dashboard_tree"/> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> No expense report found. Let's create one! @@ -814,6 +893,19 @@ </field> </record> + <!-- Tree & Kanban view for "My Reports" with header --> + <record id="action_hr_expense_sheet_my_all_tree" model="ir.actions.act_window.view"> + <field name="view_mode">tree</field> + <field name="view_id" ref="view_hr_expense_sheet_dashboard_tree_header"/> + <field name="act_window_id" ref="action_hr_expense_sheet_my_all"/> + </record> + + <record id="action_hr_expense_sheet_my_all_kanban" model="ir.actions.act_window.view"> + <field name="view_mode">kanban</field> + <field name="view_id" ref="view_hr_expense_sheet_kanban_header"/> + <field name="act_window_id" ref="action_hr_expense_sheet_my_all"/> + </record> + <record id="action_hr_expense_sheet_all_to_approve" model="ir.actions.act_window"> <field name="name">Expense Reports to Approve</field> <field name="res_model">hr.expense.sheet</field> |
