From 2239fff916a86f10f8e20ae18cbfc72f3542e934 Mon Sep 17 00:00:00 2001 From: Kamesh Patel Date: Tue, 15 Sep 2020 11:51:31 +0000 Subject: [PATCH] [IMP] *: replace the dropdown actions with controlpanel buttons * calender_sms, hr_expense, sale_project PURPOSE Enable the framework to define some of actions in the controlpanel, as buttons similar to the 'create/edit/discard' buttons. SPECIFICATIONS Replace the below-mentioned dropdown actions with controlpanel buttons - 'send sms to attendees' in Calendar > Calendar - 'approve report' in Expenses > Expense Reports > To approve - 'post entries' in Expenses > Expense Reports > To post - 'register payment' in Expenses > Expenses Reports > To pay - 'create invoice' in Field Service > All Tasks > To Invoice LINKS PR https://github.com/odoo/odoo/pull/57830 Task-2300426 closes odoo/odoo#57830 Related: odoo/enterprise#13272 Related: odoo/upgrade#1785 Signed-off-by: Yannick Tivisse (yti) --- addons/calendar_sms/views/calendar_views.xml | 15 +++++- addons/hr_expense/views/hr_expense_views.xml | 50 ++++--------------- addons/sale_project/models/project.py | 17 ------- .../sale_project/views/project_task_views.xml | 12 ----- 4 files changed, 25 insertions(+), 69 deletions(-) diff --git a/addons/calendar_sms/views/calendar_views.xml b/addons/calendar_sms/views/calendar_views.xml index b7c5018e7ef..469e695b485 100644 --- a/addons/calendar_sms/views/calendar_views.xml +++ b/addons/calendar_sms/views/calendar_views.xml @@ -11,7 +11,20 @@ 'default_composition_mode': 'comment', 'default_res_id': active_id, } - + + + + calendar.event.tree.calendar_sms + calendar.event + + + +
+
+
+
diff --git a/addons/hr_expense/views/hr_expense_views.xml b/addons/hr_expense/views/hr_expense_views.xml index 0f71c902b76..c2a31be98f1 100644 --- a/addons/hr_expense/views/hr_expense_views.xml +++ b/addons/hr_expense/views/hr_expense_views.xml @@ -570,6 +570,17 @@ hr.expense.sheet +
+
@@ -1053,45 +1064,6 @@ if records: - - Approve Report - ir.actions.server - - - list - code - -if records: - action = records.approve_expense_sheets() - - - - - Post Entries - ir.actions.server - - - list - code - -if records: - action = records.action_sheet_move_create() - - - - - Register Payment - - - - list - code - - if records: - action = records.action_register_payment() - - - diff --git a/addons/sale_project/models/project.py b/addons/sale_project/models/project.py index 9cc79509f71..56660c20fc3 100644 --- a/addons/sale_project/models/project.py +++ b/addons/sale_project/models/project.py @@ -126,23 +126,6 @@ class ProjectTask(models.Model): operator_new = 'not inselect' return [('sale_order_id', operator_new, (query, ()))] - def action_create_invoice(self): - # ensure the SO exists before invoicing, then confirm it - so_to_confirm = self.filtered( - lambda task: task.sale_order_id and task.sale_order_id.state in ['draft', 'sent'] - ).mapped('sale_order_id') - so_to_confirm.action_confirm() - - # redirect create invoice wizard (of the Sales Order) - action = self.env["ir.actions.actions"]._for_xml_id("sale.action_view_sale_advance_payment_inv") - context = literal_eval(action.get('context', "{}")) - context.update({ - 'active_id': self.sale_order_id.id if len(self) == 1 else False, - 'active_ids': self.mapped('sale_order_id').ids, - 'default_company_id': self.company_id.id, - }) - action['context'] = context - return action class ProjectTaskRecurrence(models.Model): _inherit = 'project.task.recurrence' diff --git a/addons/sale_project/views/project_task_views.xml b/addons/sale_project/views/project_task_views.xml index b4310ef327e..4d2a91325e2 100644 --- a/addons/sale_project/views/project_task_views.xml +++ b/addons/sale_project/views/project_task_views.xml @@ -59,16 +59,4 @@ - - - Create invoice - - - code - - if records: - action = records.action_create_invoice() - - -